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

-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;
char arr[100001];
int sum[100001];
int tag = 1;
vector<int> l, ans;
int main() {
  scanf(" %s", arr + 1);
  int n = strlen(arr + 1);
  for (int i = 1; i <= n; i++) {
    if (arr[i] == '#') {
      sum[i] = sum[i - 1];
      l.push_back(i);
    } else if (arr[i] == '(')
      sum[i] = sum[i - 1] + 1;
    else
      sum[i] = sum[i - 1] - 1;
    if (sum[i] < 0) tag = 0;
  }
  int balance = sum[n];
  int count = 0;
  if (balance < 0) tag = 0;
  for (int i = 0; i < l.size() - 1; i++) {
    int ind = l[i];
    ans.push_back(1);
    if (sum[ind] - count <= 0)
      tag = 0;
    else
      count++;
  }
  int no = balance - count;
  if (no <= 0) tag = 0;
  if (sum[l[l.size() - 1]] - no < 0)
    tag = 0;
  else
    ans.push_back(no);
  count = 0;
  for (int i = n; i >= 1; i--) {
    if (arr[i] == '#') break;
    if (arr[i] == '(')
      count++;
    else
      count--;
    if (count > 0) tag = 0;
  }
  if (tag) {
    for (int i = 0; i < ans.size(); i++) cout << ans[i] << endl;
  } else
    cout << "-1" << endl;
  return 0;
}
