#include<bits/stdc++.h>
using namespace std;
#define quick() ios_base::sync_with_stdio(false); cin.tie(0);
#define pb push_back
#define ll long long
int mod=1000000007;
struct SinhVien{
string msv,ten,lop,ns;
float gpa;
};
void nhap(SinhVien a[],int n){
for(int i=0;i<n;i++){
cin.ignore();
getline(cin,a[i].ten);
cin>>a[i].lop>>a[i].ns>>a[i].gpa;
a[i].msv="B20DCCN"+string(3-to_string(i+1).size(),'0')+to_string(i+1);
if(a[i].ns[1]=='/'){
a[i].ns="0"+a[i].ns;
}
if(a[i].ns[4]=='/'){
a[i].ns.insert(3,"0");
}
}
}
void in(SinhVien a[],int n){
for(int i=0;i<n;i++){
stringstream ss(a[i].ten);
string x,res="";
while(ss>>x){
x[0]=toupper(x[0]);
for(int i=1;i<x.size();i++) x[i]=tolower(x[i]);
res+=x+" ";
}
res.pop_back();
cout<<a[i].msv<<' '<<res<<' '<<a[i].lop<<' '<<a[i].ns<<' '<<
fixed<<setprecision(2)<<a[i].gpa<<endl;
}
}
int main(){
struct SinhVien ds[50];
int N;
cin >> N;
nhap(ds, N);
in(ds, N);
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBxdWljaygpIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKDApOwojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGxsIGxvbmcgbG9uZwppbnQgbW9kPTEwMDAwMDAwMDc7CgpzdHJ1Y3QgU2luaFZpZW57CglzdHJpbmcgbXN2LHRlbixsb3AsbnM7CglmbG9hdCBncGE7Cn07Cgp2b2lkIG5oYXAoU2luaFZpZW4gYVtdLGludCBuKXsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCWNpbi5pZ25vcmUoKTsKCQlnZXRsaW5lKGNpbixhW2ldLnRlbik7CgkJY2luPj5hW2ldLmxvcD4+YVtpXS5ucz4+YVtpXS5ncGE7CgkJCgkJYVtpXS5tc3Y9IkIyMERDQ04iK3N0cmluZygzLXRvX3N0cmluZyhpKzEpLnNpemUoKSwnMCcpK3RvX3N0cmluZyhpKzEpOwoJCWlmKGFbaV0ubnNbMV09PScvJyl7CgkJCWFbaV0ubnM9IjAiK2FbaV0ubnM7CgkJfQogICAgICAgIGlmKGFbaV0ubnNbNF09PScvJyl7CgkJCWFbaV0ubnMuaW5zZXJ0KDMsIjAiKTsKCQl9Cgl9Cn0Kdm9pZCBpbihTaW5oVmllbiBhW10saW50IG4pewoJZm9yKGludCBpPTA7aTxuO2krKyl7CiAgICAgICAgc3RyaW5nc3RyZWFtIHNzKGFbaV0udGVuKTsKCSAgICBzdHJpbmcgeCxyZXM9IiI7Cgkgd2hpbGUoc3M+PngpewoJCXhbMF09dG91cHBlcih4WzBdKTsKCQlmb3IoaW50IGk9MTtpPHguc2l6ZSgpO2krKykgeFtpXT10b2xvd2VyKHhbaV0pOwoJCXJlcys9eCsiICI7Cgl9CglyZXMucG9wX2JhY2soKTsKCgkJY291dDw8YVtpXS5tc3Y8PCcgJzw8cmVzPDwnICc8PGFbaV0ubG9wPDwnICc8PGFbaV0ubnM8PCcgJzw8CgkJZml4ZWQ8PHNldHByZWNpc2lvbigyKTw8YVtpXS5ncGE8PGVuZGw7Cgl9Cn0KaW50IG1haW4oKXsKICAgIHN0cnVjdCBTaW5oVmllbiBkc1s1MF07CiAgICBpbnQgTjsKICAgIGNpbiA+PiBOOwogICAgbmhhcChkcywgTik7CiAgICBpbihkcywgTik7CiAgICByZXR1cm4gMDsKfQ==