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

-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] for _ in xrange(N)]
for i in xrange(N) :
    if i == 0 :
        if S[i] == '(' :
            dp[i][0] = 1
        else :
            dp[i][1] = 1
    else :
        dp[i] = dp[i-1][:]
        if S[i] == '(' :
            dp[i][0] = dp[i-1][0]+1
        else :
            dp[i][1] = dp[i-1][1]+1

res = 0
if dp[-1][0] > dp[-1][1] :
    res = dp[-1][0] - dp[-1][1]

for i in xrange(N-1,-1,-1) :
    dp[i][1] += res
    if S[i] == '#' :
        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('#')
    if tmp == 0 :
        exit(0)
    ans = [1]*tmp
    ans[-1] += res
    for i in xrange(len(ans)) :
        print ans[i]