#define _USE_MATH_DEFINES #include <cstdio> #include <iostream> #include <sstream> #include <fstream> #include <iomanip> #include <algorithm> #include <cmath> #include <complex> #include <string> #include <vector> #include <array> #include <list> #include <queue> #include <stack> #include <set> #include <map> #include <bitset> #include <numeric> #include <limits> #include <climits> #include <cfloat> #include <functional> #include <iterator> using namespace std; int main() { int q; cin >> q; vector<multiset<string> > v(21); while(--q >= 0){ int type; cin >> type; if(type == 0){ int i, n; cin >> i >> n; while(--n >= 0){ string s; cin >> s; v[i].insert(s); } } else if(type == 1){ string s; cin >> s; bool ok = false; for(int i=1; i<=20; ++i){ auto it = v[i].find(s); if(it != v[i].end()){ v[i].erase(it); cout << i << endl; ok = true; break; } } if(!ok) cout << -1 << endl; } else{ int i; cin >> i; v[i].clear(); } } return 0; }