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

-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

def minPow(stra):
    minx = 0
    curr = 0
    for i in stra:
        if i == ')':
            curr -= 1
        else:
            curr += 1
        minx = min(curr, minx)
    return minx

x = input()

div = x.split('#')
i = [[t.count('('), t.count(')')] for t in div]
defic = [minPow(string) for string in div]
need = x.count('(') - x.count(')')

pts = 0
group = 0
add = []
for k in range(len(x)):
    if x[k] == '(':
        pts += 1
    if x[k] == ')':
        pts -= 1
    if x[k] == '#':
        group += 1
        req = (pts - abs(defic[group]))
        if req <= 0:
            print(-1)
            quit()
        if req == need:
            print(req)
            quit()
        elif req >= need:
            print(req - need)
            quit()
        else:
            print(req)
            need -= req
            pts -= req
        
