using System; using static System.Console; using System.Linq; using System.Collections.Generic; class Program { static int NN => int.Parse(ReadLine()); static int[] NList => ReadLine().Split().Select(int.Parse).ToArray(); public static void Main() { Solve(); } static void Solve() { var n = NN; var seats = new Dictionary[21]; for (var i = 0; i < seats.Length; ++i) seats[i] = new Dictionary(); var ans = new List(); for (var i = 0; i < n; ++i) { var s = ReadLine().Split(); if (s[0] == "0") { var si = int.Parse(s[1]); for (var j = 3; j < s.Length; ++j) { if (seats[si].ContainsKey(s[j])) ++seats[si][s[j]]; else seats[si][s[j]] = 1; } } else if (s[0] == "1") { var flg = false; for (var j = 1; j < seats.Length; ++j) { if (seats[j].ContainsKey(s[1]) && seats[j][s[1]] > 0) { ans.Add(j); --seats[j][s[1]]; flg = true; break; } } if (!flg) ans.Add(-1); } else { var si = int.Parse(s[1]); seats[si] = new Dictionary(); } } WriteLine(string.Join("\n", ans)); } }