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

-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

from sys import stdin,stdout,setrecursionlimit,maxint
setrecursionlimit(2*10**5)
def listInput():
 return map(long,stdin.readline().split())
def printBS(li):
 for i in xrange(len(li)-1):
  stdout.write("%d "%li[i])
 stdout.write("%d\n"%li[-1])
def sin(): return stdin.readline().rstrip()
s=sin()
n=len(s)
li=list(s)
openc=li.count("(")
closec=li.count(")")
pounds=[0]*(n-openc-closec)
k=openc-closec
for i in xrange(len(pounds)-1):
 if k==0: 
  print -1
  exit(0)
 pounds[i]=1
 k-=1
if k==0: 
 print -1
 exit(0)
pounds[-1]=k
ns=""
j=0
for i in xrange(n):
 if s[i]=="#":
  ns+=")"*pounds[j]
  j+=1
 else: ns+=s[i]
paran=[]
for i in xrange(len(ns)):
 if ns[i]=="(":
  paran.append(1)
 elif not paran:
  print -1
  break
 else: paran.pop()
else:
 for i in pounds:
  print i