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

-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;
vector<int> vec;
vector<pair<int, int>> vec2;
vector<pair<int, int>> vec3;
int arr[100010];
int arr2[100010];
int main() {
  int i, j, o, cntm2fool = 0, cntmfto7 = 0, cntshbak = 0, num, sum = 0;
  long long sum2 = 0, sum3 = 0, num2, cnt3 = 0, cnt4 = 0;
  stack<char> s;
  string ss;
  cin >> ss;
  for (i = 0; i < ss.size(); i++) {
    if (ss[i] == '(') {
      arr[i] = 1;
      cntmfto7++;
      s.push(ss[i]);
    } else if (ss[i] == ')') {
      if (s.size() == 0) {
        cout << "-1" << endl;
        return 0;
      } else
        cntm2fool++;
      s.pop();
      arr2[i] = 1;
    } else if (ss[i] == '#') {
      cntshbak++;
      vec2.push_back(make_pair(i, cntmfto7));
      vec3.push_back(make_pair(i, cntm2fool));
    }
  }
  for (i = 0; i < vec2.size(); i++) sum2 += vec2[i].second;
  for (i = 0; i < vec3.size(); i++) sum3 += vec3[i].second;
  for (i = 1; i < ss.size(); i++) {
    arr[i] += arr[i - 1];
  }
  if (cntshbak > 0) {
    num = cntmfto7 - cntm2fool;
    num2 = sum2 - sum3;
    if (cntshbak > num) {
      cout << "-1" << endl;
      return 0;
    } else if (num > num2) {
      cout << "-1" << endl;
      return 0;
    }
    for (j = 0; j < cntshbak - 1; j++) {
      vec.push_back(1);
      sum++;
      arr2[vec3[j].first]++;
    }
    vec.push_back(num - sum);
    arr2[vec3[vec3.size() - 1].first] += num - sum;
  }
  for (i = 1; i < ss.size(); i++) arr2[i] += arr2[i - 1];
  for (i = 0; i < ss.size(); i++) {
    if (arr2[i] > arr[i]) {
      cout << "-1" << endl;
      return 0;
    }
  }
  if (ss[ss.size() - 1] == '(') {
    cout << "-1" << endl;
    return 0;
  }
  for (i = 0; i < vec.size(); i++) cout << vec[i] << endl;
  return 0;
}
