Malek has recently found a treasure map. While he was looking for a treasure he found a locked door. There was a string *s* written on the door consisting of characters '(', ')' and '#'. Below there was a manual on how to open the door. After spending a long time Malek managed to decode the manual and found out that the goal is to replace each '#' with one or more ')' characters so that the final string becomes beautiful. 

Below there was also written that a string is called beautiful if for each *i* (1 ≤ *i* ≤ |*s*|) there are no more ')' characters than '(' characters among the first *i* characters of *s* and also the total number of '(' characters is equal to the total number of ')' characters. 

Help Malek open the door by telling him for each '#' character how many ')' characters he must replace it with.
The first line of the input contains a string *s* (1 ≤ |*s*| ≤ 10<sup class="upper-index">5</sup>). Each character of this string is one of the characters '(', ')' or '#'. It is guaranteed that *s* contains at least one '#' character.
inp=input()
loop=inp.count('#')
inp2=inp
crm , clm , counter , cc = 0 , 0 , 0 , 0
for i in range (len(inp)):
   if inp[i] == ")" : counter += 1
   if inp2[i] == "(" : crm += 1
   if inp2 [i] == ")" : clm += 1
l=[] ; l2=[]
for i in range ( loop ):
    if inp2[0] == ')' or inp2[-1] == '(' or inp =='#' or inp.count('(')==0 or inp =='(#)' :
       print(-1) ; break
    elif clm == 0 or inp.count('#')==0: print(len(inp2)-1)
    elif clm+1<crm:
       inp2[inp2.find('#'):inp2.find('#')+1].replace('#','))')
       l.append(2)
       clm+=2
       l2.append('))')
    elif clm<crm:
       inp2[inp2.find('#'):inp2.find('#')+1].replace('#',')')
       l.append(1)
       clm+=1
       l2.append(')')
a=len(''.join(l2))
for i in l:
   if crm != counter + a :
      print(-1)
   else :
      print ( i )