#include #include #include using namespace atcoder; using mint = modint1000000007; using namespace std; #define rep(i,n) for(int i=0;i<(n);i++) #define Inf 1000000001 int main(){ int n,q; cin>>n>>q; string s; cin>>s; fenwick_tree F(n); rep(i,n-1){ if(s[i]=='('&&s[i+1]==')')F.add(i,1); } rep(_,q){ int t; cin>>t; if(t==1){ int x; cin>>x; x--; if(s[x]=='(')s[x] = ')'; else s[x] = '('; for(int i=x-1;i<=x;i++){ if(i<0||i>=n-1)continue; F.add(i,-F.sum(i,i+1)); if(s[i]=='('&&s[i+1]==')')F.add(i,1); } } else{ int l,r; cin>>l>>r; if(l==r){ cout<<0<