#(#(#((##((()))(((#)(#()#(((()()(()#(##(((()(((()))#(((((()(((((((()#((#((()(#(((()(()##(()(((()((#(
 (#((((()
 (#((
 ((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((##
 (())((((#)
 (#(
 (#))(#(#)((((#(##((#(#((((#(##((((((#((()(()(())((()#((((#((()((((#(((((#(##)(##()((((()())(((((#(((
 ##((((((()
 #((#
 #))))
 (((((#(#(#(#()
 ((#(()#(##
 (((((((((((((((((((###################
 )((##((###
 (((()#(#)(
 ((#)(
 )(((())#
 ()((#((#(#()
 ((#(
 ()#(#())()()#)(#)()##)#((()#)((#)()#())((#((((((((#)()()(()()(((((#)#(#((((#((##()(##(((#(()(#((#))#

-1
 -1
 -1
 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
 3
 -1
 -1
 -1
 -1
 -1
 1
1
1
5
 1
1
1
1
 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
 -1
 -1
 -1
 -1
 1
1
3
 -1
 -1

import sys
from collections import Counter
#sys.stdin = open('input.txt', 'r')
#sys.stdout = open('output.txt','w')

S = list(raw_input().strip())
N = len(S)
dp = [[0,0]]*N
for i in xrange(N) :
    if i == 0 :
        if S[i] == '(' :
            dp[i][0] = 1
        else :
            dp[i][1] = 1
    else :
        if S[i] == '(' :
            dp[i][0] = dp[i-1][0]+1
        else :
            dp[i][1] = dp[i-1][1]+1
res = 0
for i in xrange(N-1,-1,-1) :
    if S[i] == '#' :
        if dp[i][0] > dp[i][1] :
            res = dp[i][0]-dp[i][1]
        break
flag = True
for i in xrange(N) :
    if dp[i][0] < dp[i][1] :
        flag = False
        break
if flag == False :
    print -1
else :
    tmp = S.count('#')
    ans = [1]*tmp
    ans[-1] += res
    for i in xrange(len(ans)) :
        print ans[i]