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.
__author__ = 'Rakshak.R.Hegde'
"""
Created on Dec 14 2014 PM 12:39

@author: Rakshak.R.Hegde
"""

s = input()
lastH = s.rfind('#')
countBr = 0
for i in range(lastH):
    if s[i] == '(':
        countBr += 1
    else:
        countBr -= 1
    if countBr < 0:
        break
else:
    nco = s.count('(', lastH + 1)
    ncc = s.count(')', lastH + 1)
    cntExtraC = countBr + nco - ncc
    if cntExtraC > 0:
        for i in range(lastH+1, len(s)):
            if s[i] == '(':
                countBr += 1
            else:
                countBr -= 1
            if countBr < 0:
                break
        else:
            countH = s.count('#')
            print('1\n' * (countH - 1) + str(cntExtraC))
            exit(0)
print('-1')