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()
    # s = '(((#)((#)'
    # s = '()((#((#(#()'
    n = len(s)
    pos = []
    cur = 0
    left = []
    for i in range(n):
        if s[i] == '(':
            cur += 1
        elif s[i] == ')':
            cur -= 1
        else:
            cur -= 1
            pos.append(i)
        left.append(cur)
        if cur < 0:
            print(-1)
            return

    ans = [1] * len(pos)
    leftNum, rightNum = s.count('('), s.count(')')
    need = leftNum - rightNum
    ans[-1] = need - (len(pos) - 1)
    for i in range(pos[-1] + 1, n):
        if left[i] < ans[-1] - 1:
            print(-1)
            return
    for e in ans:
        print(e)


if __name__ == '__main__':
    treasure()
