program exchange;

type zaznam = record
	jmeno :string[255];
	cinnost:boolean;
	kolik:real;
	end;
 pole = array[1..1005]of zaznam;
var aukce: pole;
input,pom: string[255];
i,pocet,k,l,j:integer;
cena,kup    : real;
ano     : boolean;


begin
readln(input);
while not (input="0 END") do
begin
i:=1;

repeat
i:=i+1;
until input[i]=' ';
val(copy(input,1,i-1),pocet,k);
writeln(copy(input,i+1,length(input)));
for k:=1 to pocet do
  begin
    i:=1;
    readln(pom);
    repeat
    i:=i+1;
    until (pom[i]=' ');
    aukce[k].jmeno:=copy(pom,1,i-1);
    j:=i;
    repeat
    j:=j+1;
    until (pom[j]=' ');
    if (copy(pom,i+1,j-i-1)="buy") then aukce[k].cinnost:=true 
	else aukce[k].cinnost:=false;
    val(copy(pom,j+1,length(pom)-j),aukce[k].kolik,l);
  end;
for k:=1 to pocet do
  begin
    if (aukce[k].cinnost) then cena:=aukce[k].kolik else cena:=aukce[k].kolik*(-1);
    ano:=false;
    write(aukce[k].jmeno,":");
    for l:=1 to pocet do
	begin
	if (aukce[l].cinnost) then kup:=aukce[l].kolik*(-1) else kup:=aukce[l].kolik;
	if (aukce[k].cinnost <> aukce[l].cinnost) then
	  if (cena-kup >= 0) then
		begin
		
		write(" ",aukce[l].jmeno);
 		ano :=true;
		end;
	end;
	if (ano = false) then write(" NO-ONE");
	writeln;
  end;
readln(input);
end;

end.
