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

-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() {
  char ch[101010];
  long long int len, i = 0, right = 0, balance = 0, left = 0, bal = 0, c = 0;
  cin >> ch;
  len = strlen(ch);
  vector<pair<long long, long long> > vec;
  for (i = 0; i < len; i++) {
    if (ch[i] == '(')
      left += 1;
    else if (ch[i] == ')')
      right += 1;
    else if (ch[i] == '#') {
      if (left <= right) c = 1;
      bal += 1;
    }
    vec.push_back(make_pair(left, right));
  }
  if ((left <= right) || (c == 1))
    cout << "-1";
  else {
    balance = left - right;
    for (i = 1; i <= bal - 1; i++) cout << "1" << endl;
    cout << balance - bal + 1;
  }
  return 0;
}
