#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; //#define int long long #define rep(i,s,n) for(int i = s;i=(s);i--) #define all(v) (v).begin(),(v).end() #define pb push_back #define fi first #define se second #define chmin(a,b) a=min((a),(b)) #define chmax(a,b) a=max((a),(b)) #define l1 list[index] #define l2 list[index - 1] #define l3 list[index + 1] #define iif(i,j) ((i<0 && j<0) || (i>0 && j>0)) ? true : false typedef long long ll; typedef pairpint; typedef vectorvint; typedef vectorvpint; typedef pair P1; typedef pair P2; typedef pair PP; static const ll maxLL = (ll)1 << 62; const ll MOD = 1000000007; const ll INF = 1e18; int ca[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; signed main() { string s; int n, k, cnt = 0; vectorlist(10005, 99999999); cin >> n >> k >> s; for (int i = 1; i <= s.length(); i++) { if (s[i-1] == '(') { cnt++; } else { /*if (i - 2 >= 0 && s[i - 2] == '(') { cnt--; } else { cnt--; }*/ cnt--; } list[i] = cnt; } if (s[k - 1] == '(') { for (int i = k; i <= s.length(); i++) { if (list[i] == list[k] - 1 && s[i - 1] == ')' ) { cout << i << endl; break; } } } else { /*for (int i = 1; i <= s.length(); i++) { if (list[i] == list[k] + 1 && s[i - 1] == '(' ) { cout << i << endl; break; } }*/ for (int i = k - 1; i >= 0; i-- ) { if (list[i] == list[k] + 1 && s[i - 1] == '(') { cout << i << endl; break; } } } getchar(); getchar(); return 0; }