#include<bits/stdc++.h>
using namespace std;

struct lunch{
    string name;
    int omosa,genkai;
    };
lunch a[10];
signed main(){
    int b;
    while(cin>>b,b){
	for(int c=0;c<b;c++){
	    string d;int e,f;cin>>d>>e>>f;
	    a[c]={d,e,f};
	    }
	    vector<int>c;
	    for(int i=0;i<b;i++){c.push_back(i);}
	    int MIN=1<<29;
	    do{
		int sum=0;
		bool S=true;
		for(int i=b-1;i>=0;i--){
		    if(sum>a[c[i]].genkai)S=false;
		    sum+=a[c[i]].omosa;
		    }
		 if(S){
		     int zyuusin=0;
		     for(int i=0;i<b;i++){
			 zyuusin+=(i+1)*a[c[i]].omosa;
			 }
			 MIN=min(MIN,zyuusin);
		     }   
		}while(next_permutation(c.begin(),c.end()));
		do{
		int sum=0;
		bool S=true;
		for(int i=b-1;i>=0;i--){
		    if(sum>a[c[i]].genkai)S=false;
		    sum+=a[c[i]].omosa;
		    }
		 if(S){
		     int zyuusin=0;
		     for(int i=0;i<b;i++){
			 zyuusin+=(i+1)*a[c[i]].omosa;
			 }
			 if(zyuusin==MIN){
			     for(int i=0;i<b;i++){
				 cout<<a[c[i]].name<<endl;
				 }
			     }
		     }   
		}while(next_permutation(c.begin(),c.end()));
	}
    }