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

-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>
int main() {
  int left = 0, right = 0;
  int a[100001][2], i = 0, j, n, sum = 0, rem, hash = 0;
  int c;
  while ((c = getchar()) != '\n') {
    if (c == '(') {
      a[i++][0] = -1;
      left++;
    } else if (c == '#') {
      a[i++][0] = 1;
      a[i - 1][1] = 1;
      hash++;
    } else if (c == ')') {
      a[i++][0] = 1;
      right++;
    }
  }
  rem = left - right - hash;
  if (left == right) {
    printf("-1\n");
    return 0;
  }
  n = i;
  for (i = 0; i < n; i++) {
    sum += a[i][0];
    if (a[i][1]) {
      if (sum * -1 <= rem) {
        a[i][0] += sum * -1;
        rem -= sum * -1;
        sum += sum * -1;
        printf("%d\n", a[i][0]);
      } else {
        a[i][0] += rem;
        rem = 0;
        sum += rem;
        printf("%d\n", a[i][0]);
      }
    }
  }
  return 0;
}
