#include <iostream>
#include <vector>
#pragma GCC target("avx")
#pragma GCC optimize(Ofast)
using namespace std;
int h(vector<int> a,vector<pair<int,int>> b,vector<int> used,int y){
    int n=a.size();
    b[0]={1,a[0]};
    used[0]=1;
    for (int i=1;i<n;i++){
        for (int j=0;j<n;j++){
            if (used[j]==0 and a[j]!=b[i-1].second){
                b[i]={j+1,a[j]};
                used[j]=1;
                break;
            }
        }
        if (b[i].first==0){
            break;
        }
    }
    for (int i=1;i<n;i++){
        if (b[i].first==0){
            for (int j=0;j<n;j++){
                if (used[j]==0){
                    b[i]={j+1,a[j]};
                    used[j]=1;
                    break;
                }
            }
        }
    }
    for (int i=0;i<n;i++){
        used[i]=0;
    }
    for (int i=0;i<n;i++){
        if (b[i].first==y){
            return i+1;
        }
    }
}
int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n,q;
    cin>>n>>q;
    vector<int> a(n);
    for (int i=0;i<n;i++){
        cin>>a[i];
    }
    vector<int> used(n);
    vector<pair<int,int>> b(n);
    for (int _=0;_<q;_++){
        int t;
        cin>>t;
        if (t==1){
            int y;
            cin>>y;
            y--;
            swap(a[y],a[y+1]);
        }else{
            int y;
            cin>>y;
            cout<<h(a,b,used,y)<<'\n';
        }
    }
}
