#include<bits/stdc++.h>
const int MAXN=1e6+5;
using namespace std;
struct node{
string s;
int a,b,c,cnt;
}a[MAXN];
bool cmp(node a,node b){
if(a.a!=b.a)return a.a<b.a;
if(a.b!=b.b)return a.b<b.b;
if(a.c==b.c&&a.b==b.b)return a.cnt>b.cnt;
if(a.c!=b.c&&a.b==b.b)return a.c<b.c;
}
int n;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i].s>>a[i].a>>a[i].b>>a[i].c;a[i].cnt=a[i].a+a[i].b+a[i].c;
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++)cout<<a[i].s<<endl;
return 0;
}