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

-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 str[100010];
int main() {
  while (~scanf("%s", str)) {
    int len = strlen(str);
    int cntl = 0;
    int cntr = 0;
    int ok = 1;
    int cnt = 0;
    int last = -1;
    for (int i = 0; i < len; i++) {
      if (str[i] == '(') {
        cntl++;
      } else if (str[i] == ')') {
        cntr++;
      } else {
        cntr++;
        cnt++;
        last = i;
      }
      if (cntr > cntl) {
        ok = 0;
        break;
      }
    }
    int test = 0;
    if (last != -1) {
      for (int i = last + 1; i < len; i++) {
        if (str[i] == '(') {
          test++;
        } else if (str[i] == ')') {
          test--;
        }
      }
    }
    if (test > 0) ok = 0;
    if (!ok) {
      cout << "-1" << endl;
      continue;
    }
    for (int i = 1; i < cnt; i++) {
      printf("1\n");
    }
    cout << 1 + cntl - cntr << endl;
  }
  return 0;
}
