#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<int> a,pos;
int n,q;
vector<pair<int,int>> s;
int main(){
cin >> n >> q;
a.resize(n + 5,0);
pos.resize(n + 5,0);
for(int i = 1;i <= n;i++){
cin >> a[i];
s.push_back(make_pair(a[i],i));
}
sort(s.begin(),s.end());
for(int i = 0;i < n;i++){
pos[s[i].second] = i + 1;
}
while(q--){
int ty;
cin >> ty;
if(ty == 1){
int id,v;
cin >> id >> v;
auto f = find_if(s.begin(),s.end(),[id](pair<int,int> p){return p.second == id;});
s.erase(f);
a[id] = v;
auto ins = lower_bound(s.begin(),s.end(),make_pair(v,id));
s.insert(ins,make_pair(v,id));
for(int i = 0;i < n;i++){
pos[s[i].second] = i + 1;
}
}
else{
int id;
cin >> id;
cout << pos[id] << endl;
}
}
return 0;
}