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

-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 inf = 0x3c3c3c3c;
const long long infl = 0x3c3c3c3c3c3c3c3c;
const int MAX_N = 1e5 + 9;
int ans[MAX_N];
int main() {
  cin.tie(NULL);
  cin.sync_with_stdio(false);
  cout.sync_with_stdio(false);
  string str;
  cin >> str;
  int strSz = str.size();
  int ansSz = 0;
  int lc = 0, rc = 0;
  int p = 0;
  for (int i = 0; i < strSz; i++) {
    if (str[i] == '(')
      lc++;
    else
      rc++;
    if (str[i] == '#') {
      p = i;
      ans[ansSz] = 1;
      ansSz++;
    }
  }
  if (lc < rc) return !printf("-1");
  for (int i = p - 1; i >= 0; i--) {
    if (str[i] != '#') continue;
    str[i] = ')';
  }
  int c = 0;
  for (int i = 0; i < strSz; i++) {
    if (str[i] == '(') c++;
    if (str[i] == ')') c--;
    if (str[i] == '#') {
      int v = min(c, lc - rc);
      ans[ansSz - 1] += v;
      c -= (v + 1);
    }
    if (c < 0) return !printf("-1");
  }
  if (c != 0) return !printf("-1");
  for (int i = 0; i < ansSz; i++) printf("%d\n", ans[i]);
  return 0;
}
