#include <bits/stdc++.h>
using namespace std;
bool contains123(int num) {
bool has1 = false, has2 = false, has3 = false;
while (num > 0) {
int digit = num % 10;
if (digit == 1) has1 = true;
else if (digit == 2) has2 = true;
else if (digit == 3) has3 = true;
num /= 10;
}
return has1 && has2 && has3;
}
int main() {
vector<int> arr;
int x;
// Read input numbers until EOF
while (cin >> x) {
arr.push_back(x);
}
vector<int> ans;
for (int num : arr) {
if (contains123(num)) {
ans.push_back(num);
}
}
if (ans.empty()) {
cout << -1;
} else {
sort(ans.begin(), ans.end());
for (int i = 0; i < ans.size(); i++) {
if (i > 0) cout << ",";
cout << ans[i];
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIGNvbnRhaW5zMTIzKGludCBudW0pIHsKICAgIGJvb2wgaGFzMSA9IGZhbHNlLCBoYXMyID0gZmFsc2UsIGhhczMgPSBmYWxzZTsKCiAgICB3aGlsZSAobnVtID4gMCkgewogICAgICAgIGludCBkaWdpdCA9IG51bSAlIDEwOwoKICAgICAgICBpZiAoZGlnaXQgPT0gMSkgaGFzMSA9IHRydWU7CiAgICAgICAgZWxzZSBpZiAoZGlnaXQgPT0gMikgaGFzMiA9IHRydWU7CiAgICAgICAgZWxzZSBpZiAoZGlnaXQgPT0gMykgaGFzMyA9IHRydWU7CgogICAgICAgIG51bSAvPSAxMDsKICAgIH0KCiAgICByZXR1cm4gaGFzMSAmJiBoYXMyICYmIGhhczM7Cn0KCmludCBtYWluKCkgewogICAgdmVjdG9yPGludD4gYXJyOwogICAgaW50IHg7CgogICAgLy8gUmVhZCBpbnB1dCBudW1iZXJzIHVudGlsIEVPRgogICAgd2hpbGUgKGNpbiA+PiB4KSB7CiAgICAgICAgYXJyLnB1c2hfYmFjayh4KTsKICAgIH0KCiAgICB2ZWN0b3I8aW50PiBhbnM7CgogICAgZm9yIChpbnQgbnVtIDogYXJyKSB7CiAgICAgICAgaWYgKGNvbnRhaW5zMTIzKG51bSkpIHsKICAgICAgICAgICAgYW5zLnB1c2hfYmFjayhudW0pOwogICAgICAgIH0KICAgIH0KCiAgICBpZiAoYW5zLmVtcHR5KCkpIHsKICAgICAgICBjb3V0IDw8IC0xOwogICAgfSBlbHNlIHsKICAgICAgICBzb3J0KGFucy5iZWdpbigpLCBhbnMuZW5kKCkpOwoKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFucy5zaXplKCk7IGkrKykgewogICAgICAgICAgICBpZiAoaSA+IDApIGNvdXQgPDwgIiwiOwogICAgICAgICAgICBjb3V0IDw8IGFuc1tpXTsKICAgICAgICB9CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=