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

-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 long long int maxn = 1e5 + 5;
const long long int inf = 1e9;
const long double PI = acos(-1);
void yes() { cout << "YES"; }
void no() { cout << "NO"; }
long long int pmod(long long int a, long long int mod = 1000000007) {
  return ((a) % mod + mod) % mod;
}
long long int cel(long long int x1, long long int y1) {
  if ((x1) <= 0) {
    return (x1) / (y1);
  }
  return (((x1) / (y1)) + (((x1) % (y1)) != 0));
}
long long int gcd(long long int a, long long int b) {
  if (b == 0)
    return a;
  else
    return gcd(b, a % b);
}
long long int lcm(long long int a, long long int b) {
  return (a / gcd(a, b)) * b;
}
long long bp(long long a, long long b) {
  long long res = 1;
  while (b > 0) {
    if (b & 1) res = res * a;
    a = a * a;
    b >>= 1;
  }
  return res;
}
long long bpm(long long a, long long b, long long m = 1000000007) {
  if (a >= m) a %= m;
  long long res = 1;
  while (b > 0) {
    if (b & 1) res *= a;
    if (res >= m) res %= m;
    a *= a;
    if (a >= m) a %= m;
    b >>= 1;
  }
  if (res >= m) res %= m;
  return res;
}
string vow = "aeiou";
const int dx4[] = {-1, 0, 1, 0};
const int dy4[] = {0, 1, 0, -1};
const int dxk[] = {-1, 0, 1, 0, -1, -1, 1, 1};
const int dyk[] = {0, 1, 0, -1, -1, 1, -1, 1};
const int dxh[] = {-2, -2, -1, -1, 1, 1, 2, 2};
const int dyh[] = {1, -1, 2, -2, 2, -2, 1, -1};
const int p = 31;
const int m = 1e9 + 9;
vector<vector<bool>> in;
vector<vector<int>> out;
void solve() {
  string s;
  cin >> s;
  int sum = 0;
  int n = ((s).size());
  for (int i = 0; i < n; i++) {
    if (s[i] == '(')
      sum++;
    else
      sum--;
    if (sum < 0) {
      cout << -1;
      return;
    }
  }
  int idx = -1;
  int cnt = 0;
  for (int i = 0; i < n; i++) {
    if (s[i] == '#') {
      idx = i;
      cnt++;
    }
  }
  int sum1 = 0;
  for (int i = 0; i < n; i++) {
    if (s[i] == '(')
      sum1++;
    else if (i == idx) {
      sum1 = sum1 - (sum + 1);
    } else
      sum1--;
    if (sum1 < 0) {
      cout << -1;
      return;
    }
  }
  for (int i = 0; i < cnt - 1; i++) cout << 1 << "\n";
  cout << sum + 1;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie();
  cout.tie();
  ;
  int t = 1;
  while (t--) {
    solve();
    cout << "\n";
  }
  return 0;
}
