#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
void chuanHoa(string &a) {
a[0] = toupper(a[0]);
for (int i = 1; i < a.size(); i++) {
a[i] = tolower(a[i]);
}
}
void fullName(string &a) {
stringstream ss(a);
string res;
string tmp;
while (ss >> tmp) {
chuanHoa(tmp);
res += tmp + ' ';
}
a = res;
}
typedef struct {
string name;
string d, m, y;
int stt;
} sv;
int main() {
vector<sv> vt;
int t;
cin >> t;
cin.ignore();
for (int i = 0; i < t; i++) {
sv x;
string name;
string birth;
getline(cin, name);
fullName(name);
x.name = name;
cin >> birth;
cin.ignore();
x.stt = i + 1;
stringstream ss(birth);
getline(ss, x.d, '/');
getline(ss, x.m, '/');
getline(ss, x.y, '/');
vt.emplace_back(x);
}
for (auto &x : vt) {
cout << "B24DCCN" << setw(3) << setfill('0') << x.stt << " ";
cout << x.name ;
cout << setw(2) << setfill('0') << x.d << "/"
<< setw(2) << setfill('0') << x.m << "/"
<< setw(4) << setfill('0') << x.y << "\n";
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdm9pZCBjaHVhbkhvYShzdHJpbmcgJmEpIHsKICAgIGFbMF0gPSB0b3VwcGVyKGFbMF0pOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPCBhLnNpemUoKTsgaSsrKSB7CiAgICAgICAgYVtpXSA9IHRvbG93ZXIoYVtpXSk7CiAgICB9Cn0Kdm9pZCBmdWxsTmFtZShzdHJpbmcgJmEpIHsKICAgIHN0cmluZ3N0cmVhbSBzcyhhKTsKICAgIHN0cmluZyByZXM7CiAgICBzdHJpbmcgdG1wOwogICAgd2hpbGUgKHNzID4+IHRtcCkgewogICAgICAgIGNodWFuSG9hKHRtcCk7CiAgICAgICAgcmVzICs9IHRtcCArICcgJzsKICAgIH0KICAgIGEgPSByZXM7Cn0KIAp0eXBlZGVmIHN0cnVjdCB7CiAgICBzdHJpbmcgbmFtZTsKICAgIHN0cmluZyBkLCBtLCB5OwogICAgaW50IHN0dDsKfSBzdjsKIAppbnQgbWFpbigpIHsKICAgIHZlY3Rvcjxzdj4gdnQ7CiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgY2luLmlnbm9yZSgpOyAgCiAKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgdDsgaSsrKSB7CiAgICAgICAgc3YgeDsKICAgICAgICBzdHJpbmcgbmFtZTsKICAgICAgICBzdHJpbmcgYmlydGg7CiAgICAgICAgZ2V0bGluZShjaW4sIG5hbWUpOwogICAgICAgIGZ1bGxOYW1lKG5hbWUpOwogICAgICAgIHgubmFtZSA9IG5hbWU7CiAKICAgICAgICBjaW4gPj4gYmlydGg7CiAgICAgICAgY2luLmlnbm9yZSgpOyAKICAgICAgICB4LnN0dCA9IGkgKyAxOwogICAgICAgIHN0cmluZ3N0cmVhbSBzcyhiaXJ0aCk7CiAgICAgICAgZ2V0bGluZShzcywgeC5kLCAnLycpOwogICAgICAgIGdldGxpbmUoc3MsIHgubSwgJy8nKTsKICAgICAgICBnZXRsaW5lKHNzLCB4LnksICcvJyk7CiAKICAgICAgICB2dC5lbXBsYWNlX2JhY2soeCk7CiAgICB9CiAgICBmb3IgKGF1dG8gJnggOiB2dCkgewogICAgICAgIGNvdXQgPDwgIkIyNERDQ04iIDw8IHNldHcoMykgPDwgc2V0ZmlsbCgnMCcpIDw8IHguc3R0IDw8ICIgIjsgCiAgICAgICAgY291dCA8PCB4Lm5hbWUgOyAKICAgICAgICBjb3V0IDw8IHNldHcoMikgPDwgc2V0ZmlsbCgnMCcpIDw8IHguZCA8PCAiLyIKICAgICAgICAgICAgIDw8IHNldHcoMikgPDwgc2V0ZmlsbCgnMCcpIDw8IHgubSA8PCAiLyIKICAgICAgICAgICAgIDw8IHNldHcoNCkgPDwgc2V0ZmlsbCgnMCcpIDw8IHgueSA8PCAiXG4iOwogICAgfQogICAgCn0=