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

-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;
int main() {
  int a = 0, n[100000], c, f = 0;
  char s;
  while (cin >> s) {
    if (s == '(') {
      if (f == 1) {
        n[c++] = a;
        a = 0;
        f = 0;
      }
      a++;
    } else if (s == ')') {
      if (a <= 0) {
        cout << "-1";
        exit(0);
      } else
        a--;
    } else {
      if (f == 1) {
        n[c++] = 1;
        a--;
      } else
        f = 1;
    }
  }
  if (f == 1 && a > 0) {
    n[c++] = a;
    a = 0;
  }
  if (s == '(' || a > 0 || a < 0 || (a == 0 && f == 1)) {
    cout << "-1";
    exit(0);
  } else {
    long int t = 0;
    while (t < c) {
      cout << n[t] << endl;
      t++;
    }
  }
}
