#include using namespace std; #define ll long long #define vvi vector> #define vec vector #define pq priority_queue #define all(v) (v).begin(), (v).end() #define rep(i, n) for (int (i) = (0); (i) < (n); ++(i)) #define repp(i, m, n) for (int (i) = (m); (i) < (n); ++(i)) #define debug(x) cerr << #x << ": " << x << endl; #define debug2(x, y) cerr<<"("<<#x<<", "<<#y<<") = "<<"("<(x) << endl; #define line() cerr << "---------------" << endl; const int dx[] = {1, -1, 0, 0}; const int dy[] = {0, 0, -1, 1}; template void printA(vector &printArray, char between = ' ') { int paSize = printArray.size(); for (int i = 0; i < paSize; i++) { cerr << printArray[i] << between;} if (between != '\n') {cerr << endl;} } // ------------------------------------------------------------------------------------------ int main() { int n, k; string s; cin >> n >> k >> s; k--; vec imos(n); int cnt = 0; repp (i, 0, n) { if (s[i] == '(') { cnt++; imos[i] = cnt; } else { cnt--; imos[i] = cnt+1; } } int ans = 0; if (s[k] == '(') { for (int i = k+1; i < n; i++) { if (s[i] == ')' && imos[i] == imos[k]) { ans = i + 1; break; } } } else { for (int i = k-1; i >= 0; i--) { if (s[i] == '(' && imos[i] == imos[k]) { ans = i + 1; break; } } } cout << ans << endl; return 0; }