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

-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() {
  string s;
  cin >> s;
  stack<char> st, ST;
  int n = s.size();
  if (s[0] == ')' || s[0] == '#' || s[n - 1] == '(') {
    cout << -1;
    return 0;
  } else
    st.push('(');
  multiset<char> d(s.begin(), s.end());
  int y = 0, o = d.count('#');
  for (int i = n - 1; i >= 0; i--) {
    if (s[i] == '#') {
      y = i;
      break;
    }
    if (s[i] == ')')
      ST.push(')');
    else if (!ST.empty())
      ST.pop();
    else {
      cout << -1;
      return 0;
    }
  }
  for (int i = 1; i < n; i++) {
    if (s[i] == '(')
      st.push('(');
    else if (!st.empty())
      st.pop();
    else {
      cout << -1;
      return 0;
    }
  }
  int p = st.size(), j = 0;
  if (!p)
    for (int i = 0; i < o; i++) {
      cout << 1 << endl;
    }
  else
    for (int i = 0; i < o - 1; i++) {
      int m, q;
      m = q = 0;
      for (int k = j; k < n; k++) {
        if (s[k] == '(')
          q++;
        else if (s[k] == ')')
          q--;
        else {
          j = k;
          break;
        }
      }
      j++;
      while (1) {
        if (s[j + m] == ')') {
          q--;
          j++;
          continue;
        }
        if (s[j + m] == '(') {
          m++;
          continue;
        }
        if (s[j + m] == '#' || j + m == n) {
          break;
        }
      }
      cout << q << endl;
    }
  int m, q;
  m = q = 0;
  for (int k = j; k < n; k++) {
    if (s[k] == '(')
      q++;
    else if (s[k] == ')')
      q--;
    else {
      j = k;
      break;
    }
  }
  for (int u = y + 1; u < n; u++) {
    if (s[u] == '(')
      q++;
    else
      q--;
  }
  cout << q << endl;
  return 0;
}
