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.
def needs_trailing(segment):
    open_parens = 0
    for i in segment:
        if i == '(':
            open_parens += 1
        elif i == ')' or i == '#':
            open_parens -= 1

        if open_parens < 0:
            return -1
    return open_parens


line = input()
extra_parens = needs_trailing(line)
last_segment_needs = needs_trailing(line.split('#')[-1])

if extra_parens < 0:  # too many ) already in string
    print(-1)
elif last_segment_needs > 0:  # end block isn't beautiful, can't fix
    print(-1)
else:
    outputs = [1 for i in range(line.count('#'))]
    outputs[-1] += needs_trailing(line)  # if valid, add all extras to the last space
    new_str = line.rpartition('#')[0].replace('#', ')') + outputs[-1] * ')' + line.rpartition('#')[-1]
    if needs_trailing(new_str) != 0:
        print(-1)
    for output in outputs:
        print(output)

	 	 	  	 	  			       	 				 		