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.
s = input()
x = 0
y = 0
z = 0
for i in range(len(s)):
    if (s[i] == "("):
        x += 1
    elif (s[i] == "#"):
        z += 1
numAdded = [0]*z
currStart = 0
j = -1
notPossible = False
for i in range(len(s)):
    if (s[i] == "("):
        currStart += 1
    elif (s[i] == ")"):
        y += 1
        currStart -= 1
        if (currStart < 0):
            if (j<0 or numAdded[j] == 1):
                notPossible = True
                break
            numAdded[j] -= 1
            currStart += 1
            y -= 1
    else:
        if (currStart == 0):
            if (j<0 or numAdded[j] == 1):
                notPossible = True
                break
            numAdded[j] -= 1
            currStart += 1
            y -= 1
        j += 1
        numAdded[j] = currStart
        y += currStart
        currStart = 0
if (notPossible or x != y):
    print(-1)
else:
    for i in range(z):
        print(numAdded[i])