#include #include #include using namespace std; const int N = 30; int q; map mm[N]; int main() { // freopen("sushi.in", "r", stdin); // freopen("sushi.out", "w", stdout); scanf("%d", &q); while (q--) { int op; scanf("%d", &op); if (op == 0) { int n, m; scanf("%d%d", &n, &m); mm[n].clear(); string s; while (m--) { cin >> s; ++mm[n][s]; } } else if (op == 1) { string s; cin >> s; int ans = -1; for (int i = 1; i <= 20; ++i) { auto it = mm[i].find(s); if (it == mm[i].end()) continue; ans = i; if (--((*it).second) == 0) mm[i].erase(it); break; } printf("%d\n", ans); } else { int n; scanf("%d", &n); mm[n].clear(); } } return 0; }