N, K = map(int, input().split()) S = list(input()) A = [1 if S[i] == '(' else -1 for i in range(N)] def c_problem(): wa = 0 for i in range(N): wa += A[i] if wa < 0: return False return wa == 0 if not c_problem(): exit(print("No")) lr = [] l = 0 wa = 0 for i in range(N): wa += A[i] if wa == 0: lr.append((l, i + 1)) l = i + 1 mn = sum([(r - l) // 2 + 1 for l, r in lr]) # mx = sum([(r - l) for l, r in lr]) + 2 if mn <= K: L = K - mn print("Yes") ans = [] for l, r in lr: if ans : ans.append('+') d = min((r - l) // 2 - 1, L) L -= d for i in range((r - l) // 2): ans.append(S[i + l]) ans.append('1+') ans.append('1') for i in range((r - l) // 2): ans.append(S[i + (r + l) // 2]) if i + 1 < d: ans.append('+1') for _ in range(L): ans.append('+1') assert eval("".join(ans)) == K print("".join(ans)) else: print("No")