#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
int main(){
    int n;
    while(cin>>n,n){
        string Name[10];
        double w[10],s[10];
        for(int i=0;i<n;i++)cin>>Name[i]>>w[i]>>s[i];
        vector<int>p(n),ans;
        for(int i=0;i<n;i++)p[i]=i;
        double mi=1<<25;
        do{
            double gu=0.0,gl=0.0,t=0.0;
            bool flag=true;
            for(int i=0;i<n;i++){
                int pos=p[i];
                gu+=(n-i)*w[pos];gl+=w[pos];
                if(s[pos]<t){
                    flag=false;
                    break;
                }
                t+=w[pos];

            }
            if(flag){
                double g=gu/gl;
                if(mi>g){
                    ans=p;
                    mi=g;
                }
            }
        }while(next_permutation(p.begin(),p.end()));

        reverse(ans.begin(),ans.end());
        for(int i=0;i<n;i++)cout<<Name[ans[i]]<<endl;
    }
    return 0;
}