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

-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 Solve(s):
  abertos = 0
  ans = []
  lastpos = s.rfind('#')
  for i in xrange(lastpos):
    c = s[i]
    if c == '(':
      abertos += 1
    elif c == ')':
      if abertos == 0:
        return [-1]
      abertos -= 1
    else:
      if abertos == 0:
        return [-1]
      ans.append(1)
      abertos -= 1
  dif = 0
  for i in xrange(len(s)-1, lastpos, -1):
    if s[i] == '(':
      if dif <= 0:
        return [-1]
      dif -= 1
    else:
      dif += 1
#  print abertos, dif
  if dif < 0 or dif >= abertos:
    return [-1]
  ans.append(abertos-dif)
  return ans

s = raw_input()
res = Solve(s)
for a in res:
  print a
