#define PROBLEM "https://judge.yosupo.jp/problem/predecessor_problem"
#include"../template.h"template<typenameT>classcustom_set{public:set<T>s;voidinsert(Tk){s.insert(k);}voiderase(Tk){s.erase(k);}boolcontain(Tk){returns.count(k);}Tfind_next(Tk){autoit=s.lower_bound(k);if(it==s.end())return-1;return*it;}Tfind_prev(Tk){autoit=s.upper_bound(k);if(it==s.begin())return-1;return*prev(it);}};voidsolve(){intn,q;cin>>n>>q;stringstr;cin>>str;custom_set<int>s;for(size_ti=0;i<str.size();i++){if(str[i]=='1')s.insert(i);}while(q--){inttv,k;cin>>tv>>k;if(tv==0){s.insert(k);}elseif(tv==1){s.erase(k);}elseif(tv==2){cout<<(s.contain(k)?1:0)<<'\n';}elseif(tv==3){cout<<s.find_next(k)<<'\n';}elseif(tv==4){cout<<s.find_prev(k)<<'\n';}}}
#line 1 "DataStructure/Predecessor_problem.test.cpp"
#define PROBLEM "https://judge.yosupo.jp/problem/predecessor_problem"
#line 2 "template.h"
#include<bits/stdc++.h>usingnamespacestd;#define ll long long
#define MOD (ll)(1e9+7)
#define all(x) (x).begin(),(x).end()
#define unique(x) x.erase(unique(all(x)), x.end())
#define INF32 ((1ull<<31)-1)
#define INF64 ((1ull<<63)-1)
#define inf (ll)1e18
#define vi vector<int>
#define pii pair<int, int>
#define pll pair<ll, ll>
#define fi first
#define se second
constintmod=998244353;voidsolve();intmain(){ios_base::sync_with_stdio(false);cin.tie(NULL);// cin.exceptions(cin.failbit);// int t; cin >> t;// while(t--)solve();cerr<<"\nTime run: "<<1000*clock()/CLOCKS_PER_SEC<<"ms"<<'\n';return0;}#line 4 "DataStructure/Predecessor_problem.test.cpp"
template<typenameT>classcustom_set{public:set<T>s;voidinsert(Tk){s.insert(k);}voiderase(Tk){s.erase(k);}boolcontain(Tk){returns.count(k);}Tfind_next(Tk){autoit=s.lower_bound(k);if(it==s.end())return-1;return*it;}Tfind_prev(Tk){autoit=s.upper_bound(k);if(it==s.begin())return-1;return*prev(it);}};voidsolve(){intn,q;cin>>n>>q;stringstr;cin>>str;custom_set<int>s;for(size_ti=0;i<str.size();i++){if(str[i]=='1')s.insert(i);}while(q--){inttv,k;cin>>tv>>k;if(tv==0){s.insert(k);}elseif(tv==1){s.erase(k);}elseif(tv==2){cout<<(s.contain(k)?1:0)<<'\n';}elseif(tv==3){cout<<s.find_next(k)<<'\n';}elseif(tv==4){cout<<s.find_prev(k)<<'\n';}}}