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.
import sys
input = lambda: sys.stdin.readline().rstrip()
from collections import deque,defaultdict,Counter
from itertools import permutations,combinations
from bisect import *
from heapq import *
from math import ceil,gcd,lcm,floor,comb

S = input()
if len(S)==1:exit(print(-1))
l = []
for i in range(len(S)):
    if S[i]=="#":
        l.append(i)
if not l:exit(print(-1))
ans = [1]*len(l)
k = 0
for i in range(l[-1]+1,len(S)):
    if S[i]==")":
        k-=1
    else:
        k+=1

if k>0:exit(print(-1))

num = 0
for i in range(len(S)):
    if i==l[-1]:
        if num>0:
            ans[-1] = num+k
            num-=ans[-1]
    else:
        if S[i] in ")#":
            num-=1
        else:
            num+=1

if num==0 and 0 not in ans:
    print(*ans)
else:
    print(-1)