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.
arr = input().strip()

last_hash = arr.rindex("#")
stack_left = []
stack_right = []
result = []


for i in arr[:last_hash]:
    if i == "(":
        stack_left += ["("]
    else:
        if i == "#": result += ["1"]
        if stack_left and stack_left[-1] == "(":
            stack_left.pop()
        else:
            stack_left += [")"]

if ")" in stack_left:
    result = ["-1"]
else:
    for i in arr[last_hash+1:]:
        if i == "(":
            stack_right += ["("]
        else:
            if stack_right and stack_right[-1] == "(":
                stack_right.pop()
            else:
                stack_right += [")"]
    if "(" in stack_right:
        result = ["-1"]
    else:
        total = len(stack_left) - len(stack_right)
        if total <= 0:
            result = ["-1"]
        else: result += [f"{total}"]
print('\n'.join(result))

 	  				   	  			 	     	   			