#include <bits/stdc++.h>
using namespace std;
char s[11];
int cmp(char *a, char *b) {
int x = 0, y = 0;
for (int i=0; i<5; ++i) {
if (a[i] == b[i]) { ++x; continue; }
for (int j=0; j<5; ++j) if (a[i] == b[j]) { ++y; break; }
}
return 10 * x + y;
}
char match[8];
int main() {
sprintf(s, "0123456789");
map<string, set<string> > m;
do {
reverse(s+5, s+10);
int cnt = 0;
match[0] = (cmp(s, "76060") == 2 ? '1' : '0'); if (match[0] == '1') ++cnt;
match[1] = (cmp(s, "24112") == 10 ? '1' : '0'); if (match[1] == '1') ++cnt;
match[2] = (cmp(s, "93535") == 11 ? '1' : '0'); if (match[2] == '1') ++cnt;
match[3] = (cmp(s, "67253") == 2 ? '1' : '0'); if (match[3] == '1') ++cnt;
match[4] = (cmp(s, "01497") == 12 ? '1' : '0'); if (match[4] == '1') ++cnt;
match[5] = (cmp(s, "94501") == 12 ? '1' : '0'); if (match[5] == '1') ++cnt;
match[6] = (cmp(s, "25349") == 3 ? '1' : '0'); if (match[6] == '1') ++cnt;
m[string(match)].insert(string(s, s+5));
m[string(match)].insert("04936");
} while (next_permutation(s, s+10));
for (auto it = m.begin(); it != m.end(); ++it) if (it->second.size() == 1)
printf("%s: %s\n", it->second.begin()->c_str(), it->first.c_str());
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgpjaGFyIHNbMTFdOwoKaW50IGNtcChjaGFyICphLCBjaGFyICpiKSB7CglpbnQgeCA9IDAsIHkgPSAwOwoJZm9yIChpbnQgaT0wOyBpPDU7ICsraSkgewoJCWlmIChhW2ldID09IGJbaV0pIHsgKyt4OyBjb250aW51ZTsgfQoJCWZvciAoaW50IGo9MDsgajw1OyArK2opIGlmIChhW2ldID09IGJbal0pIHsgKyt5OyBicmVhazsgfQoJfQoJcmV0dXJuIDEwICogeCArIHk7Cn0KCgpjaGFyIG1hdGNoWzhdOwoKaW50IG1haW4oKSB7CglzcHJpbnRmKHMsICIwMTIzNDU2Nzg5Iik7CgltYXA8c3RyaW5nLCBzZXQ8c3RyaW5nPiA+IG07CglkbyB7CgkJcmV2ZXJzZShzKzUsIHMrMTApOwoJCQoJCWludCBjbnQgPSAwOwoJCW1hdGNoWzBdID0gKGNtcChzLCAiNzYwNjAiKSA9PSAgMiA/ICcxJyA6ICcwJyk7IGlmIChtYXRjaFswXSA9PSAnMScpICsrY250OwoJCW1hdGNoWzFdID0gKGNtcChzLCAiMjQxMTIiKSA9PSAxMCA/ICcxJyA6ICcwJyk7IGlmIChtYXRjaFsxXSA9PSAnMScpICsrY250OwoJCW1hdGNoWzJdID0gKGNtcChzLCAiOTM1MzUiKSA9PSAxMSA/ICcxJyA6ICcwJyk7IGlmIChtYXRjaFsyXSA9PSAnMScpICsrY250OwoJCW1hdGNoWzNdID0gKGNtcChzLCAiNjcyNTMiKSA9PSAgMiA/ICcxJyA6ICcwJyk7IGlmIChtYXRjaFszXSA9PSAnMScpICsrY250OwoJCW1hdGNoWzRdID0gKGNtcChzLCAiMDE0OTciKSA9PSAxMiA/ICcxJyA6ICcwJyk7IGlmIChtYXRjaFs0XSA9PSAnMScpICsrY250OwoJCW1hdGNoWzVdID0gKGNtcChzLCAiOTQ1MDEiKSA9PSAxMiA/ICcxJyA6ICcwJyk7IGlmIChtYXRjaFs1XSA9PSAnMScpICsrY250OwoJCW1hdGNoWzZdID0gKGNtcChzLCAiMjUzNDkiKSA9PSAgMyA/ICcxJyA6ICcwJyk7IGlmIChtYXRjaFs2XSA9PSAnMScpICsrY250OwoJCQoJCW1bc3RyaW5nKG1hdGNoKV0uaW5zZXJ0KHN0cmluZyhzLCBzKzUpKTsKCQltW3N0cmluZyhtYXRjaCldLmluc2VydCgiMDQ5MzYiKTsKCQkKCX0gd2hpbGUgKG5leHRfcGVybXV0YXRpb24ocywgcysxMCkpOwoJCglmb3IgKGF1dG8gaXQgPSBtLmJlZ2luKCk7IGl0ICE9IG0uZW5kKCk7ICsraXQpIGlmIChpdC0+c2Vjb25kLnNpemUoKSA9PSAxKQoJCXByaW50ZigiJXM6ICVzXG4iLCBpdC0+c2Vjb25kLmJlZ2luKCktPmNfc3RyKCksIGl0LT5maXJzdC5jX3N0cigpKTsKCQoJcmV0dXJuIDA7Cn0=