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

-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;
inline long long int pwr(long long int x, long long int y, long long int p) {
  long long int z = 1;
  for (; y; y >>= 1, x = x * x % p)
    if (y & 1) z = z * x % p;
  return z;
}
int main() {
  string s;
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cin >> s;
  vector<int> v;
  long long int cnt1 = 0, cnther = 0, cl = 0, cr = 0, end, fl = 0, flag = 0,
                fl2 = 0;
  for (int i = 0; i < s.length(); i++) {
    if (s[i] == '#') {
      cnt1++;
    }
  }
  for (int i = 0; i < s.length(); i++) {
    if (s[i] == '#') {
      cnther++;
      if (cr >= cl) {
        cout << "-1" << endl;
        return 0;
      } else if (cnther != cnt1) {
        v.push_back(1);
        cr++;
      } else {
        end = i;
        fl = cl - cr;
        break;
      }
    } else if (s[i] == '(') {
      cl++;
    } else if (s[i] == ')') {
      cr++;
    }
    if (cr > cl) {
      cout << "-1" << endl;
      return 0;
    }
  }
  cr = 0;
  cl = 0;
  for (int i = end + 1; i < s.length(); i++) {
    if (s[i] == '(') {
      cl++;
    } else if (s[i] == ')') {
      cr++;
    }
  }
  fl2 = cl - cr;
  if (fl2 > 0) {
    cout << -1 << endl;
    return 0;
  }
  cl = 0;
  cr = 0;
  for (int i = end + 1; i < s.length(); i++) {
    if (s[i] == '(') {
      cl++;
    } else if (s[i] == ')') {
      cr++;
    }
    if (cl - cr < fl2) {
      flag = 1;
    }
  }
  if (flag) {
    if (cl != 0) {
      cout << "-1" << endl;
      return 0;
    }
  }
  if (cl - cr + fl > 0)
    v.push_back(cl - cr + fl);
  else {
    cout << "-1" << endl;
    return 0;
  }
  for (int i = 0; i < v.size(); i++) {
    cout << v[i] << endl;
  }
  return 0;
}
