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

-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;
long n, m, b[1000001], ans[1000001];
string t;
int main() {
  cin >> t;
  long s, d;
  d = s = 0;
  if (t[0] == ')') {
    cout << -1;
    return 0;
  };
  long p = 0, xox = 0;
  for (int k = 0; k < t.size(); ++k) {
    b[k + 1] = b[k];
    if (t[k] == ')')
      b[k + 1]--, ++d;
    else if (t[k] == '(')
      b[k + 1]++, ++s;
    else
      ++p, xox = k;
  }
  for (int k = 0; k < t.size(); ++k)
    if (b[k + 1] < 0) {
      cout << -1;
      return 0;
    }
  long j = 0;
  long d1 = d;
  if (s < d) {
    cout << -1;
    return 0;
  }
  for (int k = d1 + p; k <= s; ++k)
    if (s % k == 0) {
      j = k;
      break;
      ;
    }
  j = j - d;
  if (j < p) {
    cout << -1;
    return 0;
  }
  long sum = 0;
  for (int k = t.size() - 1; k >= 0; --k)
    if (t[k] == '#') {
      --p;
      long rt = b[xox] - b[k];
      if (rt < 0) rt = 0;
      long gam = sum - rt;
      if (gam < 0) gam = 0;
      b[k] -= gam;
      if (b[k] <= 0) {
        cout << -1;
        return 0;
      }
      ans[k] = min(b[k], j - p);
      sum += ans[k];
      j = j - ans[k];
    }
  if (j != 0) {
    cout << -1;
    return 0;
  }
  for (int k = 1; k <= t.size(); ++k)
    if (t[k - 1] == '#' && ans[k - 1] == 0) {
      cout << -1;
      return 0;
    }
  for (int k = 1; k <= t.size(); ++k) {
    if (t[k - 1] == '#') cout << ans[k - 1] << endl;
  }
  return 0;
}
