#include #include typedef struct { double am; char name[22]; } person; int main() { int i, j, k, n, q, r, l, f; char iss[15], prs[25], op[10]; person b[1000], s[1000]; int ktory[1000]; double am; while (1) { scanf("%d", &n); if (!n) break; scanf("%s", iss); printf("%s\n", iss); j = k = 0; for (i = 0; i < n; i++) { scanf("%s%s%lf", prs, op, &am); if (op[0] == 'b') { ktory[i] = 1; b[j].am = am; strcpy(b[j++].name, prs); } else { ktory[i] = 2; s[k].am = am; strcpy(s[k++].name, prs); } } q = r = -1; for (i = 0; i < n; i++) { if (ktory[i] == 1) { printf("%s:", b[++q].name); for (l = f = 0; l < k; l++) if (s[l].am <= b[q].am) { f = 1; printf(" %s", s[l].name); } } else { printf("%s:", s[++r].name); for (l = f = 0; l < j; l++) if (b[l].am >= s[r].am) { f = 1; printf(" %s", b[l].name); } } if (!f) printf(" NO-ONE"); printf("\n"); } } return 0; }