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.
l = [i for i in input()]
stack = []
valid = True
n_hashes = 0
n_open_free = 0
for i in range(len(l)):
    if l[i] == ')' or l[i] == '#':
        if len(stack) == 0:
            valid = False
            break
        last_open = stack.pop(-1)
        l[last_open] = 0
        if l[i] == ')':
            l[i] = 0
            n_open_free = max(0, n_open_free-1)
        else:
            n_hashes += 1
            l[i] = '*'
            n_open_free = 0
    elif l[i] == '(':
        stack.append(i)
        n_open_free+=1
if n_open_free != 0:
    valid = False
if valid:
    answer = [1]*n_hashes
    open_counter = 0
    current_hash = 0
    for i in range(len(l)):
        if l[i] == '(':
            open_counter+=1
        elif l[i] == '*':
            answer[current_hash] += open_counter
            open_counter = 0
            current_hash+=1
    for elem in answer:
        print(elem)
else:
    print(-1)

   	  	 		    		  		   		   			