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

-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

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <string>
#include <cmath>
#include <set>
#include <map>
#include <unordered_map>
#include <numeric>
#include <queue>
#include <string.h>
#include <iomanip>
#include <conio.h>
#define ll long long
#define ios ios_base::sync_with_stdio(false); cin.tie(NULL);
//#define DEBUG
/*#ifdef LOCAL
fprintf(stderr, "Time: %.2lf\n", (double)clock() / CLOCKS_PER_SEC);
#endif*/

using namespace std;

const ll mod = 1e9 + 7;

int main() {
#ifdef DEBUG
	freopen("input.txt", "r", stdin);
#endif
	ios;
	string str;
	cin >> str;

	int maxo = 0;
	int maxc = 0;
	int cr = 0;
	for (int i = 0; i < str.size(); i++) {
		if (str[i] == '(') maxo++;
		if (str[i] == ')') maxc++;
		if (str[i] == '#') cr++;
	}

	if (maxo - maxc - cr < 0) {
		cout << -1;
		exit(0);
	}
	
	vector <int> ans;
	int flag = 0;
	int can = maxo - maxc;
	int c = 0;
	for (int i = 0; i < str.size(); i++) {
		if (str[i] == '(') c++;
		if (str[i] == ')') c--;
		if (c < 0) {
			cout << -1;
			exit(0);
		}
		if (str[i] == '#') {
			int t = c;
			int flag = 0;
			for (int j = i + 1; j < str.size(); j++) {
				if (str[j] == ')') {
					t--;
					flag = 1;
				}
				if (str[j] == '(' && flag == 0) t++;
				if (t < 0) {
					cout << -1;
					exit(0);
				}
				if (str[j] == '#')break;
			}
			can -= t;
			ans.push_back(t);
			c -= t;
		}
	}

	

	
	for (int i = 0; i < ans.size(); i++) {
		cout << ans[i] << "\n";
	}





	
#ifdef DEBUG
	_getch();
#endif DEBUG
}