#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;
}
}
bool cmp(SinhVien a, SinhVien b){
return a.gpa>b.gpa;
}
void sapxep(SinhVien a[],int n){
sort(a,a+n,cmp);
}
int main(){
struct SinhVien ds[50];
int N;
cin >> N;
nhap(ds, N);
sapxep(ds,N);
in(ds, N);
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBxdWljaygpIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOyBjaW4udGllKDApOwojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGxsIGxvbmcgbG9uZwppbnQgbW9kPTEwMDAwMDAwMDc7CgpzdHJ1Y3QgU2luaFZpZW57CglzdHJpbmcgbXN2LHRlbixsb3AsbnM7CglmbG9hdCBncGE7Cn07Cgp2b2lkIG5oYXAoU2luaFZpZW4gYVtdLGludCBuKXsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCWNpbi5pZ25vcmUoKTsKCQlnZXRsaW5lKGNpbixhW2ldLnRlbik7CgkJY2luPj5hW2ldLmxvcD4+YVtpXS5ucz4+YVtpXS5ncGE7CgkJCgkJYVtpXS5tc3Y9IkIyMERDQ04iK3N0cmluZygzLXRvX3N0cmluZyhpKzEpLnNpemUoKSwnMCcpK3RvX3N0cmluZyhpKzEpOwoJCWlmKGFbaV0ubnNbMV09PScvJyl7CgkJCWFbaV0ubnM9IjAiK2FbaV0ubnM7CgkJfQppZihhW2ldLm5zWzRdPT0nLycpewoJCQlhW2ldLm5zLmluc2VydCgzLCIwIik7CgkJfQoJfQp9CnZvaWQgaW4oU2luaFZpZW4gYVtdLGludCBuKXsKCWZvcihpbnQgaT0wO2k8bjtpKyspewoJCXN0cmluZ3N0cmVhbSBzcyhhW2ldLnRlbik7CglzdHJpbmcgeCxyZXM9IiI7Cgl3aGlsZShzcz4+eCl7CgkJeFswXT10b3VwcGVyKHhbMF0pOwoJCWZvcihpbnQgaT0xO2k8eC5zaXplKCk7aSsrKSB4W2ldPXRvbG93ZXIoeFtpXSk7CgkJcmVzKz14KyIgIjsKCX0KCXJlcy5wb3BfYmFjaygpOwoJCWNvdXQ8PGFbaV0ubXN2PDwnICc8PHJlczw8JyAnPDxhW2ldLmxvcDw8JyAnPDxhW2ldLm5zPDwnICc8PAoJCWZpeGVkPDxzZXRwcmVjaXNpb24oMik8PGFbaV0uZ3BhPDxlbmRsOwoJfQp9CmJvb2wgY21wKFNpbmhWaWVuIGEsIFNpbmhWaWVuIGIpewoJcmV0dXJuIGEuZ3BhPmIuZ3BhOwp9CnZvaWQgc2FweGVwKFNpbmhWaWVuIGFbXSxpbnQgbil7Cglzb3J0KGEsYStuLGNtcCk7Cn0KaW50IG1haW4oKXsKICAgIHN0cnVjdCBTaW5oVmllbiBkc1s1MF07CiAgICBpbnQgTjsKICAgIGNpbiA+PiBOOwogICAgbmhhcChkcywgTik7CiAgICBzYXB4ZXAoZHMsTik7CiAgICBpbihkcywgTik7CiAgICByZXR1cm4gMDsKfQ==