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

-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;
char s[100006];
int main() {
  int n, i, l = 0, r = 0, m = 0, k, t, flag = 0;
  scanf("%s", s);
  n = strlen(s);
  for (i = 0; i < n; i++) {
    if (s[i] == '(') l++;
    if (s[i] == ')') r++;
    if (s[i] == '#') {
      m++;
    }
  }
  {
    k = l - (m - 1) - r;
    l = 0;
    r = 0;
    for (i = 0; i < n; i++) {
      if (s[i] == '(') l++;
      if (s[i] == ')' || s[i] == '#') r++;
      if (l < r) {
        flag = 1;
        break;
      }
    }
    if (flag)
      printf("-1\n");
    else {
      l = 0;
      r = 0;
      for (i = n - 1; i >= 0; i--) {
        if (s[i] == '#') {
          t = i;
          break;
        }
      }
      for (i = t + 1; i < n; i++) {
        if (s[i] == '(') l++;
        if (s[i] == ')') r++;
      }
      if (l > r) flag = 1;
      if (flag) {
        printf("-1\n");
      } else {
        for (i = 0; i < m - 1; i++) printf("1\n");
        printf("%d\n", k);
      }
    }
  }
  return 0;
}
