import java.io.*;

public class exchange{
	public static void main(String args[]){
		try{
			BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
			//System.out.println(br.readLine());
			String firma="";
			String vstup=br.readLine();
			String[] pole1;
			String[] pole2;
			float[] pole3;
			int n=0;
			int pom=0;int count=0;
			for(int i=0;i<vstup.length();i++){
			   if(vstup.substring(i,i+1).equals(" ")){
				n=Integer.valueOf(vstup.substring(pom,i)).intValue();
				count++;
				pom=i+1;
				firma=vstup.substring(pom,vstup.length());
				break;
			   }
			}
			//System.out.println(n+" "+ firma);
			
			while(n!=0){

				pole1=new String[n];
				pole2=new String[n];
				pole3=new float[n];
				for(int ii=0;ii<n;ii++){
					vstup=br.readLine();
					pom=0;
					count =0;
					for(int i=0;i<vstup.length();i++){
						
						
						if(vstup.substring(i,i+1).equals(" ")){
							if(count==0){
								pole1[ii]=vstup.substring(pom,i);
								//System.out.println(pole1[ii]+" ");
								pom=i+1;
								
							}
							if(count==1){
								pole2[ii]=vstup.substring(pom,i);
								//System.out.println(pole2[ii]+" "+pom+" "+ i);
								pom=i+1;
								count++;
								
							}
							if(count==2){
							     pole3[ii]=Float.parseFloat(vstup.substring(i,vstup.length()));
							//  System.out.println(vstup.substring(i,vstup.length())+" ");
								break;
								
							}
							count++;
						}


					}
				}
				boolean b=true;
				System.out.println(firma);
				for(int i=0;i<n;i++){
					System.out.print(pole1[i]+": ");
					if(pole2[i].equals("buy")){
						b=true;
						for(int ii=0;ii<n;ii++){
							
							if(pole2[ii].equals("sell")){
								if(pole3[i]>=pole3[ii]){
									System.out.print(pole1[ii]+" ")	;
									b=false;
								}
							}
						}
						if(b==true){
							System.out.print("NO-ONE ")	;
						}
					}
					else{
						b=true;
						for(int ii=0;ii<n;ii++){
							
							if(pole2[ii].equals("buy")){
								if(pole3[i]<=pole3[ii]){
									System.out.print(pole1[ii]+" ")	;
									b=false;
								}
							}
						}
						if(b==true)
							System.out.print("NO-ONE ")	;

					}
System.out.println();
				}

			vstup=br.readLine();
			pom=0;
			//System.out.println();
			for(int i=0;i<vstup.length();i++){
			   if(vstup.substring(i,i+1).equals(" ")){
				n=Integer.valueOf(vstup.substring(pom,i)).intValue();
				if(n==0){
					return;
				}
				count++;
				pom=i+1;
				firma=vstup.substring(pom,vstup.length());
				break;
			   }
			}
			}


		
		}
		catch(Exception e){}
	}

	public static String getS(){
		try{
			byte[] pole=new byte[100];
			System.in.read(pole);
			String s=new String(pole).trim();
			//System.out.println(s);
			return s;
		}
		catch(Exception e){
			System.out.println("eroor");
			return "";
		}
	}
	public static float getF(){
		try{
			byte[] pole=new byte[100];
			System.in.read(pole);
			String s=new String(pole).trim();
			//System.out.println(s);			
			return Float.valueOf(s).floatValue();
		}
		catch(Exception e){
			System.out.println("eroor");
			return 0;
		}		
	}
	public static int getInt(){
		try{
			byte[] pole=new byte[100];
			System.in.read(pole);
			String s=new String(pole).trim();
			//System.out.println(s);			
			return Integer.valueOf(s).intValue();
		}
		catch(Exception e){
			System.out.println("eroor");
			return 0;
		}
	}

}
