package main import "fmt" type Stack []int func (s *Stack) Push(v int) { *s = append(*s, v) } func (s *Stack) Pop() int { ret := (*s)[len(*s)-1] *s = (*s)[0 : len(*s)-1] return ret } func main() { var N, K int var S string fmt.Scan(&N, &K) fmt.Scan(&S) s := Stack(make([]int, 0, N)) match := make([]int, N) for i, r := range S { switch r { case '(': s.Push(i) case ')': m := s.Pop() match[m] = i match[i] = m } } fmt.Println(match[K-1] + 1) }