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.
# 494A
# θ(|s|) time
# θ(|s|) space

__author__ = 'artyom'


# SOLUTION

def main():
    s = read(0)
    n = len(s)
    ex = 2 * s.count('(') - n
    if ex < 0:
        return -1
    res = []
    l = i = 0
    last = s.rfind('#')
    for i in range(n):
        c = s[i]
        if c == '(':
            l += 1
        elif c == ')':
            l -= 1
        else:
            if l == 0:
                return -1
            k = 1 if i < last else 1 + ex
            res.append(k)
            l -= k
        if l < 0:
            return -1
    return res


# HELPERS

def read(mode=1, size=None):
    # 0: String
    # 1: Integer
    # 2: List of strings
    # 3: List of integers
    # 4: Matrix of integers
    if mode == 0: return input().strip()
    if mode == 1: return int(input().strip())
    if mode == 2: return input().strip().split()
    if mode == 3: return list(map(int, input().strip().split()))
    a = []
    for _ in range(size):
        a.append(read(3))
    return a


def write(s="\n"):
    if s is None: s = ''
    if isinstance(s, tuple) or isinstance(s, list): s = '\n'.join(map(str, s))
    s = str(s)
    print(s, end="\n")


write(main())