#(#(#((##((()))(((#)(#()#(((()()(()#(##(((()(((()))#(((((()(((((((()#((#((()(#(((()(()##(()(((()((#(
 (#((((()
 (#((
 ((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((#)((##
 (())((((#)
 (#(
 (#))(#(#)((((#(##((#(#((((#(##((((((#((()(()(())((()#((((#((()((((#(((((#(##)(##()((((()())(((((#(((
 ##((((((()
 #((#
 #))))
 (((((#(#(#(#()
 ((#(()#(##
 (((((((((((((((((((###################
 )((##((###
 (((()#(#)(
 ((#)(
 )(((())#
 ()((#((#(#()
 ((#(
 ()#(#())()()#)(#)()##)#((()#)((#)()#())((#((((((((#)()()(()()(((((#)#(#((((#((##()(##(((#(()(#((#))#

-1
 -1
 -1
 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
 3
 -1
 -1
 -1
 -1
 -1
 1
1
1
5
 1
1
1
1
 1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
 -1
 -1
 -1
 -1
 1
1
3
 -1
 -1

#include <bits/stdc++.h>
using namespace std;
const int INF = 0x3f3f3f3f;
char s[120000];
int c = 0;
int main() {
  scanf("%s", s);
  int n = strlen(s);
  int open = 0, changes = 0, flag = 0;
  if (n == 1 && s[0] == '#') {
    printf("%d\n", -1);
    return 0;
  }
  for (int i = n - 1; i > -1; i--)
    if (s[i] == '#') {
      if (!flag)
        flag = 1;
      else {
        c++;
        s[i] = ')';
      }
    }
  for (int i = 0; i < n; i++) {
    if (s[i] == '(')
      open++;
    else if (s[i] == ')') {
      open--;
    } else {
      int close = 0;
      for (int j = i + 1; j <= n - 1; ++j)
        if (s[j] == ')')
          close++;
        else {
          close--;
        }
      if (close < 0) {
        open = -1;
        break;
      }
      changes = open - close;
      if (changes == 0) {
        open = -1;
        break;
      }
      open = close;
    }
    if (open < 0) {
      break;
    }
  }
  if (open > -1) {
    for (int i = 0; i < c; i++) printf("%d\n", 1);
    printf("%d\n", changes);
  } else
    printf("%d\n", -1);
  return 0;
}
