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

-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


S = raw_input()

def solve(S): 
    cnt_h = S.count('#') 
    cnt_l = S.count('(') 
    cnt_r = S.count(')') 

    if cnt_l < cnt_r + cnt_h: 
        return False

    st = [] 

    res = []
    for c in S: 
        if c == ')':
            if st and st[-1] == '(':
                st.pop() 
                cnt_l -= 1
                cnt_r -= 1
            elif not st: 
                return False
        elif c == '(': 
            st.append(c)
        else:
            if not st: 
                return False
            if cnt_h == 1:
                # print st, cnt_l, cnt_r
                if cnt_l - cnt_r <= 0 or len(st) < cnt_l - cnt_r:
                    return False
                diff = cnt_l - cnt_r 
                for _ in range(diff): 
                    st.pop()
                    cnt_l -= 1

                cnt_h -= 1
                res.append(diff)
            else: 
                st.pop() 
                cnt_l -= 1
                cnt_h -=1 
                res.append(1)
    return res
                
res = solve(S)
if not res:
    print -1
else:
    print '\n'.join(map(str, res)) 
