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.
# cook your dish here
from sys import stdin,stdout
from collections import Counter
from itertools import permutations
import bisect
import math
I=lambda: map(int,stdin.readline().split())
I1=lambda: stdin.readline()

s=I1()
ans,i,c1,c2,c=[],0,0,0,0
n=len(s)
l=s.count('#')
while i<n:
    if s[i]=='(':
        c1+=1 
    elif s[i]=="#":
        c+=1 
    elif i<n-1 and s[i]==')' and s[i+1]=='(':
        c2+=1 
        if c1<c+c2:
            print(-1)
            exit()
        for j in range(c-1):
            ans.append(1)
        ans.append(c1-c2-(c-1))
        c1=c2=c=0
    elif s[i]==')':
        c2+=1 
    i+=1 
if l>len(ans):
    if c1<c+c2:
        print(-1)
        exit()
    for j in range(c-1):
        ans.append(1)
    ans.append(c1-c2-(c-1))
for x in ans: print(x)
        
        