#include <bits/stdc++.h>
using namespace std;
typedef short int si;
void print_card(pair <si, char> cards[], si start, si end);
int main()
{
si sum;
pair <si, char> cards[5];
// Keep the assumption in mind that the boy plays the worst he can and the girl plays the best she can.
while (true)
{
// Input
for (si i = 0; i < 5; i++)
{
cin >> cards[i].first;
cards[i].second = (i < 3 ? 'g' : 'b');
}
// checking end of input
sum = 0;
for (si i = 0; i < 5; i++)
sum += cards[i].first;
if (sum == 0)
break;
sort(cards, cards + 5);
// If boy has 2 biggest cards he cant lose
if (cards[4].second == 'b' && cards[3].second == 'b')
{
print_card(cards, 1, 52);
continue;
}
else if (cards[4].second == 'g' && cards[3].second == 'b')
{
// if cards are _ _ g b g, the girl will win two rounds irrespective of where of two places b card is
if (cards[2].second == 'g')
{
print_card(cards, 53, 53);
continue;
}
// if cards are _ _ b b g, the girl will win with his biggest card and so will the boy. we need a valid card bigger than the second largest girl card.
else
{
print_card(cards, cards[1].first + 1, 52);
continue;
}
}
else if (cards[4].second == 'b' && cards[3].second == 'g')
{
// if cards are _ _ b g b, the boy will win with his biggest card and so will the girl. we need a valid card bigger than the second largest girl card.
if (cards[2].second == 'b')
{
print_card(cards, cards[1].first + 1, 52);
continue;
}
// if cards are _ _ g g b, the girl will win two rounds irrespective of where of two places b card is
else
{
print_card(cards, cards[3].first + 1, 52);
continue;
}
}
// The boy is doomed to lose
else
{
print_card(cards, 53, 53);
}
}
return 0;
}
// Just a few checks to see if the next bigger card is a valid card to print.
void print_card(pair <si, char> cards[], si start, si end)
{
if (start >= 52)
{
cout << -1 << '\n';
return;
}
bool card_used = false;
for (si i = start; i <= end; i++)
{
for (si j = 0; j < 5; j++)
{
card_used = false;
if (cards[j].first == i)
{
card_used = true;
break;
}
}
if (!card_used)
{
cout << i << '\n';
break;
}
else if (start == 52)
{
cout << -1 << '\n';
}
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBzaG9ydCBpbnQgc2k7Cgp2b2lkIHByaW50X2NhcmQocGFpciA8c2ksIGNoYXI+IGNhcmRzW10sIHNpIHN0YXJ0LCBzaSBlbmQpOwoKaW50IG1haW4oKQp7CiAgICAKICAgIHNpIHN1bTsKICAgIHBhaXIgPHNpLCBjaGFyPiBjYXJkc1s1XTsKCgkvLyBLZWVwIHRoZSBhc3N1bXB0aW9uIGluIG1pbmQgdGhhdCB0aGUgYm95IHBsYXlzIHRoZSB3b3JzdCBoZSBjYW4gYW5kIHRoZSBnaXJsIHBsYXlzIHRoZSBiZXN0IHNoZSBjYW4uCgogICAgd2hpbGUgKHRydWUpCiAgICB7CiAgICAgICAgLy8gSW5wdXQKICAgICAgICBmb3IgKHNpIGkgPSAwOyBpIDwgNTsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgY2luID4+IGNhcmRzW2ldLmZpcnN0OwogICAgICAgICAgICBjYXJkc1tpXS5zZWNvbmQgPSAoaSA8IDMgPyAnZycgOiAnYicpOwogICAgICAgIH0KCiAgICAgICAgLy8gY2hlY2tpbmcgZW5kIG9mIGlucHV0CiAgICAgICAgc3VtID0gMDsKICAgICAgICBmb3IgKHNpIGkgPSAwOyBpIDwgNTsgaSsrKQogICAgICAgICAgICBzdW0gKz0gY2FyZHNbaV0uZmlyc3Q7CgogICAgICAgIGlmIChzdW0gPT0gMCkKICAgICAgICAgICAgYnJlYWs7CgoKICAgICAgICBzb3J0KGNhcmRzLCBjYXJkcyArIDUpOwoKICAgICAgICAvLyBJZiBib3kgaGFzIDIgYmlnZ2VzdCBjYXJkcyBoZSBjYW50IGxvc2UKICAgICAgICBpZiAoY2FyZHNbNF0uc2Vjb25kID09ICdiJyAmJiBjYXJkc1szXS5zZWNvbmQgPT0gJ2InKQogICAgICAgIHsKICAgICAgICAgICAgcHJpbnRfY2FyZChjYXJkcywgMSwgNTIpOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgZWxzZSBpZiAoY2FyZHNbNF0uc2Vjb25kID09ICdnJyAmJiBjYXJkc1szXS5zZWNvbmQgPT0gJ2InKQogICAgICAgIHsKICAgICAgICAgICAgLy8gaWYgY2FyZHMgYXJlIF8gXyBnIGIgZywgdGhlIGdpcmwgd2lsbCB3aW4gdHdvIHJvdW5kcyBpcnJlc3BlY3RpdmUgb2Ygd2hlcmUgb2YgdHdvIHBsYWNlcyBiIGNhcmQgaXMKICAgICAgICAgICAgaWYgKGNhcmRzWzJdLnNlY29uZCA9PSAnZycpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHByaW50X2NhcmQoY2FyZHMsIDUzLCA1Myk7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBpZiBjYXJkcyBhcmUgXyBfIGIgYiBnLCB0aGUgZ2lybCB3aWxsIHdpbiB3aXRoIGhpcyBiaWdnZXN0IGNhcmQgYW5kIHNvIHdpbGwgdGhlIGJveS4gd2UgbmVlZCBhIHZhbGlkIGNhcmQgYmlnZ2VyIHRoYW4gdGhlIHNlY29uZCBsYXJnZXN0IGdpcmwgY2FyZC4KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBwcmludF9jYXJkKGNhcmRzLCBjYXJkc1sxXS5maXJzdCArIDEsIDUyKTsKICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYgKGNhcmRzWzRdLnNlY29uZCA9PSAnYicgJiYgY2FyZHNbM10uc2Vjb25kID09ICdnJykKICAgICAgICB7CiAgICAgICAgICAgIC8vIGlmIGNhcmRzIGFyZSBfIF8gYiBnIGIsIHRoZSBib3kgd2lsbCB3aW4gd2l0aCBoaXMgYmlnZ2VzdCBjYXJkIGFuZCBzbyB3aWxsIHRoZSBnaXJsLiB3ZSBuZWVkIGEgdmFsaWQgY2FyZCBiaWdnZXIgdGhhbiB0aGUgc2Vjb25kIGxhcmdlc3QgZ2lybCBjYXJkLgogICAgICAgICAgICBpZiAoY2FyZHNbMl0uc2Vjb25kID09ICdiJykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgcHJpbnRfY2FyZChjYXJkcywgY2FyZHNbMV0uZmlyc3QgKyAxLCA1Mik7CiAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgfQogICAgICAgICAgICAvLyBpZiBjYXJkcyBhcmUgXyBfIGcgZyBiLCB0aGUgZ2lybCB3aWxsIHdpbiB0d28gcm91bmRzIGlycmVzcGVjdGl2ZSBvZiB3aGVyZSBvZiB0d28gcGxhY2VzIGIgY2FyZCBpcwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHByaW50X2NhcmQoY2FyZHMsIGNhcmRzWzNdLmZpcnN0ICsgMSwgNTIpOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gVGhlIGJveSBpcyBkb29tZWQgdG8gbG9zZQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHByaW50X2NhcmQoY2FyZHMsIDUzLCA1Myk7CiAgICAgICAgfQogICAgIAogICAgfQoKICAgIHJldHVybiAwOwp9CgovLyBKdXN0IGEgZmV3IGNoZWNrcyB0byBzZWUgaWYgdGhlIG5leHQgYmlnZ2VyIGNhcmQgaXMgYSB2YWxpZCBjYXJkIHRvIHByaW50Lgp2b2lkIHByaW50X2NhcmQocGFpciA8c2ksIGNoYXI+IGNhcmRzW10sIHNpIHN0YXJ0LCBzaSBlbmQpCnsKICAgIGlmIChzdGFydCA+PSA1MikKICAgIHsKICAgICAgICBjb3V0IDw8IC0xIDw8ICdcbic7CiAgICAgICAgcmV0dXJuOwogICAgfQoKICAgIGJvb2wgY2FyZF91c2VkID0gZmFsc2U7CiAgICBmb3IgKHNpIGkgPSBzdGFydDsgaSA8PSBlbmQ7IGkrKykKICAgIHsKICAgICAgICBmb3IgKHNpIGogPSAwOyBqIDwgNTsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgY2FyZF91c2VkID0gZmFsc2U7CiAgICAgICAgICAgIGlmIChjYXJkc1tqXS5maXJzdCA9PSBpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBjYXJkX3VzZWQgPSB0cnVlOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmICghY2FyZF91c2VkKQogICAgICAgIHsKICAgICAgICAgICAgY291dCA8PCBpIDw8ICdcbic7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmIChzdGFydCA9PSA1MikKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgLTEgPDwgJ1xuJzsKICAgICAgICB9CiAgICB9Cn0=
MTEgMTcgNCAxNiAzOQozMiAxOCAxNCA4IDMwCjUwIDQ2IDUxIDIzIDUKNDQgMzIgNDUgNDAgMjEKMzQgNDMgNTIgMzcgMjcKMTkgMjcgMjMgMTggNTIKMSA0IDE3IDMyIDQ3CjMxIDEyIDQxIDQ0IDQ3CjQ0IDM1IDE5IDEyIDIyCjE2IDQ1IDQwIDE1IDUKNDIgMzQgMzIgNDAgMjcKMzEgNDEgNiAyMyAyMAoxIDYgMTAgNDAgNDkKNDkgNyAzMSA0NCAxOAoyOCAzNSAzOCAxNSA0OQo4IDQgNyAxNCAzCjI3IDQyIDMgOSA2CjIzIDEwIDM5IDggMjUKMTEgMzMgMzIgMTcgNTIKMjUgNDQgMzQgMTEgNgo2IDI5IDM3IDEyIDI2CjMgNDcgNSAxMCA4CjcgMTIgMjUgMzggNDgKNiAyIDI0IDEzIDE4CjE4IDkgNTEgMiA0OAo1MiAzMyA0MyA1IDE4CjI2IDM5IDUgMjcgMjQKNTEgNDIgMSA1MCAyCjQ3IDIwIDE0IDMxIDUxCjEzIDQ5IDM1IDExIDI2CjcgMTEgMzQgNDkgNDMKNTEgNTAgMjkgMzEgNTIKMjkgNyA4IDEyIDE1CjMzIDI5IDIgMjIgMzYKMjggMzQgOCAxMCAyMQozMyAxNiAzMSA0MyA0MAo0OSAxNyAxNCAxIDQ4CjEzIDI5IDIgMjAgNDAKNDQgMjYgMjUgNDcgOQo3IDMgMzcgMzYgMjQKMjAgMTEgMzQgMjcgMjEKNTIgNCAxOCAxMyAzMgo0MSAyNSA5IDQyIDIxCjI0IDMzIDIyIDI1IDMKNDkgMTUgNTIgOSAyMgozMiA3IDIwIDE2IDI0CjExIDE1IDE4IDE2IDUKOCA0OCAxOSAzNyAzMwo3IDMzIDIzIDYgNDEKMzMgNTAgMzAgMTMgMzUKNDEgMjMgNTAgMzQgMTQKMzAgNDIgOSA0OCAyNgoxNyAzMCAzNCAzOSAzNQoyMyA2IDE2IDE4IDI1CjQzIDkgMjQgMjMgMTkKMzggMyAxNiAxNSA0Mwo1MSAzMSA0MiAyNCAxMgoxMyAzNCA1MiA0IDUxCjI1IDQ2IDM1IDI0IDQ1CjEgOSAyMyAxNyA1MQoxNiAzMyAxOCA0NSA0OAoxOCA1MCAyOCA0OCA5CjIyIDM2IDQyIDQ5IDM5CjE3IDIxIDkgNTEgNDQKMSA1MiAyOCAyMyA0NAoyIDEyIDM0IDYgMTQKMTggMzQgMzkgNDUgMjkKMjQgNDIgNDAgMTMgMzkKMiA1IDM1IDEwIDMyCjMgMzggNyA2IDkKNTAgOCAyMCA3IDEzCjI3IDQ5IDI5IDQyIDE4CjUgMTMgNyAyMCAxCjIxIDIyIDYgNCA3CjM3IDM0IDQ1IDE5IDM5CjEgMTYgNDYgNDggNTAKMzUgNSAzMCA0NCAxMgoyNSAxOSAzNyAyIDgKMjAgNSAyMyAxIDM2CjUgMTMgMTcgNDkgMzEKMzMgMiAyMCAyMSAyMgo0IDMwIDM1IDMyIDMxCjAgMCAwIDAgMAo=
11 17 4 16 39
32 18 14 8 30
50 46 51 23 5
44 32 45 40 21
34 43 52 37 27
19 27 23 18 52
1 4 17 32 47
31 12 41 44 47
44 35 19 12 22
16 45 40 15 5
42 34 32 40 27
31 41 6 23 20
1 6 10 40 49
49 7 31 44 18
28 35 38 15 49
8 4 7 14 3
27 42 3 9 6
23 10 39 8 25
11 33 32 17 52
25 44 34 11 6
6 29 37 12 26
3 47 5 10 8
7 12 25 38 48
6 2 24 13 18
18 9 51 2 48
52 33 43 5 18
26 39 5 27 24
51 42 1 50 2
47 20 14 31 51
13 49 35 11 26
7 11 34 49 43
51 50 29 31 52
29 7 8 12 15
33 29 2 22 36
28 34 8 10 21
33 16 31 43 40
49 17 14 1 48
13 29 2 20 40
44 26 25 47 9
7 3 37 36 24
20 11 34 27 21
52 4 18 13 32
41 25 9 42 21
24 33 22 25 3
49 15 52 9 22
32 7 20 16 24
11 15 18 16 5
8 48 19 37 33
7 33 23 6 41
33 50 30 13 35
41 23 50 34 14
30 42 9 48 26
17 30 34 39 35
23 6 16 18 25
43 9 24 23 19
38 3 16 15 43
51 31 42 24 12
13 34 52 4 51
25 46 35 24 45
1 9 23 17 51
16 33 18 45 48
18 50 28 48 9
22 36 42 49 39
17 21 9 51 44
1 52 28 23 44
2 12 34 6 14
18 34 39 45 29
24 42 40 13 39
2 5 35 10 32
3 38 7 6 9
50 8 20 7 13
27 49 29 42 18
5 13 7 20 1
21 22 6 4 7
37 34 45 19 39
1 16 46 48 50
35 5 30 44 12
25 19 37 2 8
20 5 23 1 36
5 13 17 49 31
33 2 20 21 22
4 30 35 32 31
0 0 0 0 0