func_code_string: #include <bits/stdc++.h>   using namespace std;   long long Min(long long a, long long b) { return a < b ? a : b; }   inline int read() {     int x = 0, f = 1;     char c = getchar();     while (c <  0  || c >  9 ) {       if (f ==  - ) f = -1;       c = getchar();     }     while (c >=  0  && c <=  9 ) {       x = (x << 3) + (x << 1) + c -  0 ;       c = getchar();     }     return x * f;   }   int n, k, dp[200005], que[2000005], cnt, ne[200005], fr[200005];   char s[200005];   int main() {     n = read();     k = read();     scanf( %s , s + 1);     for (int i = 1; i <= n; i++) dp[i] = dp[i] - 1 + (s[i] ==  (  ? 1 : -1);     for (int i = 1; i <= n; i++) ne[i] = i + 1, fr[i] = i - 1;     for (int i = 1; i <= n; i++)       if (s[i] ==  (  && s[i + 1] ==  ) ) que[++cnt] = i;     for (int i = 1; i <= ((n - k) >> 1); i++) {       int now = que[i];       s[now] =  0 ;       s[ne[now]] =  0 ;       ne[fr[now]] = ne[ne[now]];       fr[ne[ne[now]]] = fr[now];       if (s[fr[now]] ==  (  && s[ne[ne[now]]] ==  ) ) que[++cnt] = fr[now];     }     for (int i = 1; i <= n; i++) {       if (s[i] ==  ( ) {         for (int j = i; j <= n; j = ne[j]) {           printf( %c , s[j]);         }         return 0;       }     }     return 0;   }   