#include #define rep(i, n) for (int i = 0; i < (int)(n); i++) #define all(v) v.begin(), v.end() using namespace std; using lint = long long; using vli = vector; int main() { lint n, k, q; cin >> n >> k >> q; set s; rep(i, n) { lint x; cin >> x; s.insert(x); } rep(i, q) { vli query(2); cin >> query[0]; if (query[0] == 1) { cin >> query[1]; s.insert(query[1]); } else if (query[0] == 2) { cin >> query[1]; lint v, count = 1; for (auto value : s) { if (count == k) { v = value; break; } count++; } s.erase(v); s.insert(v + query[1]); } else { lint v, count = 1; for (auto value : s) { if (count == k) { v = value; break; } count++; } cout << v << endl; } } }