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

-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>
const long long inf = 0x3f3f3f3f3f3f3f3fll;
using namespace std;
long long gcd(long long a, long long b) {
  if (a == 0) return b;
  return gcd(b % a, a);
}
long long lcm(long long a, long long b) { return (a * b) / gcd(a, b); }
bool isPrime(long long x) {
  for (long long d = 2; d * d <= x; d++) {
    if (x % d == 0) return false;
  }
  return true;
}
void solve() {
  int n, i, j, cnt = 0, finalidx, end = 0;
  bool flag = 1;
  string second;
  cin >> second;
  n = second.length();
  vector<int> ans;
  for (i = n - 1; i >= 0; i--) {
    if (second[i] == '#') {
      finalidx = i;
      break;
    }
  }
  for (i = finalidx + 1; i < n; i++) {
    if (second[i] == ')')
      end++;
    else
      break;
  }
  if (end < 0) {
    cout << -1 << endl;
    return;
  }
  for (i = 0; i < n; i++) {
    if (i == finalidx) {
      if (cnt - end <= 0) {
        flag = false;
        break;
      }
      ans.push_back(cnt - end);
      cnt = 0;
    } else {
      if (second[i] == '(')
        cnt++;
      else if (second[i] == ')') {
        if (cnt < 0) {
          flag = false;
          break;
        }
        cnt--;
      } else if (second[i] == '#') {
        if (cnt == 0) {
          flag = false;
          break;
        }
        ans.push_back(1);
        cnt--;
      }
    }
  }
  if (flag) {
    for (i = 0; i < ans.size(); i++) cout << ans[i] << endl;
  } else {
    cout << -1 << endl;
  }
}
int main() {
  long long t;
  t = 1;
  while (t--) {
    solve();
  }
  return 0;
}
