#include <iostream>
#include <string>
using namespace std;
struct member {
string name;
int year;
int month;
int day;
};
void swap(member& a, member& b);
bool cmp(member a, member b);
int main() {
int num;
cin >> num;
member* p = new member[num];
int i;
for (i = 0; i < num; i++) {
cin >> p[i].name >> p[i].year >> p[i].month >> p[i].day;
}
for (i = 0; i < num - 1; i++) {
for (int j = i + 1; j < num; j++) {
bool is = cmp(p[i], p[j]);
if (!is)
swap(p[i], p[j]);
}
}
for (i = 0; i < num; i++) {
cout << p[i].name << endl;
}
delete[] p;
return 0;
}
void swap(member& a, member& b) {
member temp = a;
a = b;
b = temp;
}
bool cmp(member a, member b) {
bool is;
if (a.year == b.year) {
if (a.month == b.month) {
is = a.day < b.day;
}
else is = a.month < b.month;
}
else is = a.year < b.year;
return is;
}