#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;


int main(){
    int n,q;
    cin >> n >> q;
    vector<int> c(n + 1);
    for(int i = 1;i <= n;i++){
        cin >> c[i];
    }
    vector<int> p(n + 1);
    for(int i = 1;i <= n;i++){
        if(c[i] == 1){
            p[i] = 1;
        }
        p[i] += p[i-1];
    }
    //int q;
    //cin >> q;
    while(q--){
        int t;
        cin >> t;
        if(t == 1){
            int x;
            cin >> x;
            //x--;
            if(c[x] == c[x + 1]){
                continue;
            }
            if(c[x] == 1){
                p[x]--;
            }else if(c[x + 1] == 1){
                p[x]++;
            }
            swap(c[x],c[x + 1]);
        }else{
            int y;
            cin >> y;
            int od = p[y],dv = n - p[n];
            if(c[y] == 1){
                cout << od + min(od - 1,dv) << "\n";
            }else{
                od = p[n];
                dv = y - p[y];
                cout << dv + min(dv,od) << "\n";
            }
        }
    }
    return 0;
}
