#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; //#define FOR(i,a,b) for(int i = (a); i < (b); ++i) #define FOR2(i,a,b) for(int i = (a); i > (b); --i) #define FOR(i,b) for(int i = 0; i < (b); ++i) #define FORTO(i,a,b) for(int i = (a); i <= (b); ++i) #define FORD(i,b) for(int i = (b)-1; i >= 0; --i) #define FOREACH(it,a) for(typeof((a).begin()) it = (a).begin(); it != (a).end(); ++it) #define $(x) int((x).size()) #define MAXN 1047 char Buff[256]; char Name[MAXN][50]; bool B[MAXN]; int P[MAXN]; int N; int main() { while (true) { scanf("%d %s", &N, Buff); if (!N && !strcmp(Buff,"END")) return 0; printf("%s\n", Buff); FOR(i,N) { int a, b; scanf(" %s %s %d.%d", Name[i], Buff, &a, &b); P[i] = a*1000+b; if (!strcmp(Buff,"buy")) B[i] = true; else B[i] = false;//sprintf("->>%d\n", P[i]); } FOR(i,N) { printf("%s:", Name[i]); bool some = false; FOR(j,N) { if (B[i] && !B[j] && P[i] >= P[j]) { printf(" %s", Name[j]); some = true; } if (!B[i] && B[j] && P[i] <= P[j]) { printf(" %s", Name[j]); some = true; } } if (!some) printf(" NO-ONE"); printf("\n"); } } return 0; }