WeiZhang edited 1 天,23 小时前
#include<bits/stdc++.h>
using namespace std;
const int M = 19;
string a[] = {"pop", "no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu", "uayet"};
struct node {
int d , y;
string m;
long long vis;
};
int get_id (const string &s) {
for(int i = 0 ; i < M ; i ++ ) {
if(a[i] == s) {
return i;
}
}
return -1;
}
void solve() {
int n;
cin >> n;
vector<node> v(n);
for(int i = 0 ; i < n ; i ++ ) {
char dot;
cin >> v[i].d >> dot >> v[i].m;
cin >> v[i].y;
v[i].vis = 1000000LL * v[i].y + 100LL * get_id(v[i].m) + v[i].d;
}
sort(v.begin() , v.end() , [](node a , node b) {
return a.vis < b.vis;
});
for(int i = 0 ; i < n ; i ++ ) {
cout << v[i].d << ". " << v[i].m << " " << v[i].y << "\n";
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int tt;
cin >> tt;
for(int i = 1 ; i <= tt ; i ++ ) {
cout << "Case #" << i << ":\n";
solve();
}
return 0;
}