#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define REP(i,n) for(int (i)=0;(i)<(int)(n);(i)++) #define RREP(i,n) for(int (i)=(int)(n)-1;i>=0;i--) #define FILL(Itr,n) fill((Itr).begin(),(Itr).end(),n) #define REMOVE(Itr,n) (Itr).erase(remove((Itr).begin(),(Itr).end(),n),(Itr).end()) #define UNIQUE(Itr) sort((Itr).begin(),(Itr).end()); (Itr).erase(unique((Itr).begin(),(Itr).end()),(Itr).end()) #define LBOUND(Itr,val) lower_bound((Itr).begin(),(Itr).end(),(val)) #define UBOUND(Itr,val) upper_bound((Itr).begin(),(Itr).end(),(val)) #define MOD 1000000007 typedef long long ll; typedef pair P; int main(){ int N,K; cin >> N >> K; string S; cin >> S; vector p(N+1); stack< pair > sta; REP(i,S.size()){ if(sta.size()==0)sta.push(make_pair(S[i],i+1)); else{ if(S[i]=='(')sta.push(make_pair(S[i],i+1)); else{ int idx = sta.top().second; sta.pop(); p[i+1] = idx; p[idx] = i+1; } } } cout << p[K] << endl; return 0; }