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

-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 b[100001];
string t;
int main() {
  cin >> t;
  int s = 0;
  int ad = -1;
  int ha = 0;
  for (long long k = 0; k <= t.size() - 1; k++)
    if (t[k] == '#') ad = k;
  int v = 0;
  for (long long k = ad + 1; k <= t.size() - 1; k++) {
    if (t[k] == ')') v++;
    if (t[k] == '(') v--;
  }
  for (long long k = 0; k <= t.size() - 1; k++) {
    if (t[k] == '(') s++;
    if (t[k] == ')') s--;
    if (t[k] == '#') s--;
    if (s < 0) {
      cout << -1;
      return 0;
    }
  }
  int d = 0;
  for (long long k = 0; k <= t.size() - 1; k++)
    if (t[k] == '#') d++;
  if (s == 0) {
    if (d == 0) {
      cout << 0;
      return 0;
    }
    for (long long k = 1; k <= d; k++) cout << 1 << endl;
  }
  if (s > 0) {
    if (v < 0) {
      cout << -1;
      return 0;
    }
    if (d == 0) {
      cout << -1;
      return 0;
    }
    for (long long k = 1; k <= d - 1; k++) cout << 1 << endl;
    cout << s + 1;
  }
  return 0;
}
