#include <bits/stdc++.h>
using namespace std;
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
__gnu_pbds ::tree< int, __gnu_pbds::null_type, greater<> ,
__gnu_pbds::rb_tree_tag,
__gnu_pbds::tree_order_statistics_node_update>
trr;
map<int,bool>vis;
int main() {
int m,q;
cin >> m >> q;
for(int i=1;i<=m;i++){
int x;
cin>>x;
if(!vis[x]){
trr.insert(x);
vis[x]=true;
}
}
while(q--){
int c,n;
cin>>c>>n;
if(c==1){
auto it = trr.find_by_order(n-1);
cout<<*it<<endl;
}
else if(c==2){
if(!vis[n]){
trr.insert(n);
vis[n]=true;
}
}
}
return 0;
}
非常奇怪的问题