#include "bits/stdc++.h" using namespace std; #define pb push_back #define mp make_pair constexpr int INF = 1 << 29; constexpr int MOD = 1000000007; typedef long long ll; typedef unsigned long long ull; constexpr int dx[4] = {1, 0, -1, 0}; constexpr int dy[4] = {0, 1, 0, -1}; #include #include #include using namespace __gnu_pbds; using Node = pair; tree,rb_tree_tag,tree_order_statistics_node_update> S; int main() { int Q, K; scanf("%d%d", &Q, &K); int cnt = 0; for(int i = 0; i < Q; i++) { int q; scanf("%d", &q); if (q == 1) { long long int v; scanf("%lld", &v); S.insert(make_pair(v, cnt++)); } else { if (S.size() < K) { puts("-1"); } else { auto it = S.find_by_order(K - 1); printf("%lld\n", *it); S.erase(it); } } } return 0; }