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

-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;
const int mod = (int)1e9 + 7;
const int MAX_N = (int)5e5 + 123;
const int N = 1e6 + 123;
const int INF = 0x3F3F3F3F;
const long long INFL = 3e18 + 1;
const double pi = acos(-1.0);
const double eps = 1e-9;
const int dx[] = {0, 0, 1, 0, -1};
const int dy[] = {0, 1, 0, -1, 0};
char s[MAX_N];
int cnt, kol;
inline int gcd(int a, int b) {
  if (!b) return a;
  return gcd(b, a % b);
}
inline void boost() {
  ios_base ::sync_with_stdio(NULL);
  cin.tie(NULL), cout.tie(NULL);
}
inline void Solve() {
  boost();
  cin >> s + 1;
  int n = strlen(s + 1);
  for (int i = 1; i <= n; i++) {
    if (s[i] == '(')
      cnt++;
    else if (s[i] == ')')
      cnt--;
    else {
      if (cnt <= 0) {
        cout << -1, exit(0);
      }
      kol++;
    }
  }
  if (cnt - kol < 0) cout << -1, exit(0);
  for (int i = 1; i < kol; i++) cout << 1 << '\n', cnt--;
  cout << cnt;
}
int main() {
  int tt = 1;
  while (tt--) {
    Solve();
  }
}
