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

-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 ab = 0, cer = 0, mic = 0, c = 0;
  string cod;
  cin >> cod;
  for (int i = 0; i < (int)cod.size(); i++) {
    if (cod[i] == '(')
      ab++;
    else if (cod[i] == ')')
      cer++;
    else
      mic++;
  }
  if (ab - (cer + mic) < 0) {
    cout << "-1" << endl;
    return 0;
  }
  for (int i = 0; i < (int)cod.size(); i++) {
    if (cod[i] == '(')
      c++;
    else if (cod[i] == ')')
      c--;
    else {
      if (i != (int)cod.size() - 1) {
        if (cod[i + 1] == ')') {
          cout << c - 1 << endl;
          c = 1;
        } else {
          if (cod[i + 1] == '(') {
            cout << c << endl;
            c = 0;
          } else {
            cout << "1" << endl;
            c--;
          }
        }
      } else
        cout << c << endl;
    }
  }
  return 0;
}
