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()
t = s.count("(") - s.count(")") - s.count("#")
if t < 0: 
  print(-1)
  quit()
l = [1]*s.count("#")
a, b, i = 0, 0, 0
for x in range(len(s)):
  if s[x] == "(": 
    a += 1
  elif s[x] == ")":
    b += 1
  elif s[x] == "#":
    if t > 0:
      c = 0
      y = x + 1
      while y < len(s) and s[y] == ")":
        c += 1
        y += 1
      # print(a, b, c, t)
      l[i] += min(t, a-b-c-1)
      i += 1
      t -= min(t, a-b-c-1)
      b += min(t, a-b-c-1)
    else:
      break
print("\n".join(map(str, l)))
      
        
