#include <bits/stdc++.h>
using namespace std;
#define N 5
int i;
vector<string> comb;
int ans[300];
bool flag[300];
bool found;
bool diff_one(string a, string b) {
int i;
int cnt = 0;
for (i = 0; i < N; i++) {
if (a[i] != b[i]) cnt++;
}
if (cnt <= 1) return true;
return false;
}
void generate(string s, int x) {
if (x > 9) {
if (s.length() == N) {
comb.push_back(s);
}
} else {
generate(s, x+1);
generate(s + (char)(x + '0'), x+1);
}
}
void brute(int taken) {
int i;
if (found) return;
if (taken == comb.size()) {
for (i = 0; i < comb.size(); i++) cout << i+1 << ": " << comb[ans[i]] << endl;
found = true;
return;
}
for (i = 0; i < comb.size(); i++) if (!flag[i] && diff_one(comb[ans[taken-1]], comb[i])) {
flag[i] = true;
ans[taken] = i;
brute(taken + 1);
flag[i] = false;
}
}
int main() {
generate("", 0);
ans[0] = 0;
flag[0] = true;
brute(1);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIE4gNQoKaW50IGk7CnZlY3RvcjxzdHJpbmc+IGNvbWI7CmludCBhbnNbMzAwXTsKYm9vbCBmbGFnWzMwMF07CmJvb2wgZm91bmQ7Cgpib29sIGRpZmZfb25lKHN0cmluZyBhLCBzdHJpbmcgYikgewoJaW50IGk7CglpbnQgY250ID0gMDsKCWZvciAoaSA9IDA7IGkgPCBOOyBpKyspIHsKCQlpZiAoYVtpXSAhPSBiW2ldKSBjbnQrKzsKCX0KCWlmIChjbnQgPD0gMSkgcmV0dXJuIHRydWU7CglyZXR1cm4gZmFsc2U7Cn0KCnZvaWQgZ2VuZXJhdGUoc3RyaW5nIHMsIGludCB4KSB7CglpZiAoeCA+IDkpIHsKCQlpZiAocy5sZW5ndGgoKSA9PSBOKSB7CgkJCWNvbWIucHVzaF9iYWNrKHMpOwoJCX0KCX0gZWxzZSB7CgkJZ2VuZXJhdGUocywgeCsxKTsKCQlnZW5lcmF0ZShzICsgKGNoYXIpKHggKyAnMCcpLCB4KzEpOwoJfQp9Cgp2b2lkIGJydXRlKGludCB0YWtlbikgewoJaW50IGk7CglpZiAoZm91bmQpIHJldHVybjsKCWlmICh0YWtlbiA9PSBjb21iLnNpemUoKSkgewoJCWZvciAoaSA9IDA7IGkgPCBjb21iLnNpemUoKTsgaSsrKSBjb3V0IDw8IGkrMSA8PCAiOiAiIDw8IGNvbWJbYW5zW2ldXSA8PCBlbmRsOwoJCWZvdW5kID0gdHJ1ZTsKCQlyZXR1cm47Cgl9Cglmb3IgKGkgPSAwOyBpIDwgY29tYi5zaXplKCk7IGkrKykgaWYgKCFmbGFnW2ldICYmIGRpZmZfb25lKGNvbWJbYW5zW3Rha2VuLTFdXSwgY29tYltpXSkpIHsKCQlmbGFnW2ldID0gdHJ1ZTsKCQlhbnNbdGFrZW5dID0gaTsKCQlicnV0ZSh0YWtlbiArIDEpOwoJCWZsYWdbaV0gPSBmYWxzZTsKCX0KfQoKaW50IG1haW4oKSB7CglnZW5lcmF0ZSgiIiwgMCk7CgkKCWFuc1swXSA9IDA7CglmbGFnWzBdID0gdHJ1ZTsKCWJydXRlKDEpOwp9Cg==