#include <iostream>
#include <random>
#include <string>
#include <sstream>
using namespace std;
int main()
{
int w[] = {7, 3, 1, 9, 7, 3, 1, 7, 3};
char Char[] = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'}; // 26
int i, j, k, tmp;
random_device rd; mt19937 R(rd());
uniform_int_distribution<> d1(0, 25);
uniform_int_distribution<> d2(0, 8);
ostringstream ID;
for(int l = 0; l <= 100; l++) {
do {
ID.str(std::string());
ID << 'A' << Char[d1(R)] << Char[d1(R)] << d2(R) << d2(R) << d2(R) << d2(R) << d2(R) << d2(R);
for (i = 0; i <= 25; i++) if (ID.str()[1] == Char[i]) break;
for (j = 0; j <= 25; j++) if (ID.str()[2] == Char[j]) break;
tmp = 10 + i * w[1] + j * w[2];
for (k = 3; k <= 8; k++) tmp = tmp + ID.str()[k] * w[k];
} while ((tmp % 10) != 0);
cout << ID.str() << ' ' << endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8cmFuZG9tPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkKewoJaW50IHdbXSA9IHs3LCAzLCAxLCA5LCA3LCAzLCAxLCA3LCAzfTsKCQoJY2hhciBDaGFyW10gPSB7J0EnLCAnQicsICdDJywgJ0QnLCAnRScsICdGJywgJ0cnLCAnSCcsICdJJywgJ0onLCAnSycsICdMJywgJ00nLAoJCQkJICAgJ04nLCAnTycsICdQJywgJ1EnLCAnUicsICdTJywgJ1QnLCAnVScsICdWJywgJ1cnLCAnWCcsICdZJywgJ1onfTsgLy8gMjYKCQkJCSAgICAgCglpbnQgaSwgaiwgaywgdG1wOwoJCglyYW5kb21fZGV2aWNlIHJkOyBtdDE5OTM3IFIocmQoKSk7Cgl1bmlmb3JtX2ludF9kaXN0cmlidXRpb248PiBkMSgwLCAyNSk7Cgl1bmlmb3JtX2ludF9kaXN0cmlidXRpb248PiBkMigwLCA4KTsKCW9zdHJpbmdzdHJlYW0gSUQ7Cglmb3IoaW50IGwgPSAwOyBsIDw9IDEwMDsgbCsrKSB7CgkJZG8gewoJCQlJRC5zdHIoc3RkOjpzdHJpbmcoKSk7CgkJCUlEIDw8ICdBJyA8PCBDaGFyW2QxKFIpXSA8PCBDaGFyW2QxKFIpXSA8PCBkMihSKSA8PCBkMihSKSA8PCBkMihSKSA8PCBkMihSKSA8PCBkMihSKSA8PCBkMihSKTsKCQkJZm9yIChpID0gMDsgaSA8PSAyNTsgaSsrKSBpZiAoSUQuc3RyKClbMV0gPT0gQ2hhcltpXSkgYnJlYWs7CgkJCWZvciAoaiA9IDA7IGogPD0gMjU7IGorKykgaWYgKElELnN0cigpWzJdID09IENoYXJbal0pIGJyZWFrOwoJCQl0bXAgPSAxMCArIGkgKiB3WzFdICsgaiAqIHdbMl07CgkJCWZvciAoayA9IDM7IGsgPD0gODsgaysrKSB0bXAgPSB0bXAgKyBJRC5zdHIoKVtrXSAqIHdba107CgkJfSB3aGlsZSAoKHRtcCAlIDEwKSAhPSAwKTsKCWNvdXQgPDwgSUQuc3RyKCkgPDwgJyAnIDw8IGVuZGw7Cgl9CgkKCXJldHVybiAwOwp9