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

-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;

void solve() {
	string s;
	cin >> s;
	int m = 0;
	int tot = 0;
	for(char c:s) {
		if(c=='#') m++;
		if(c =='(') tot++;
		else if(c==')') tot--;
	}
	if(tot < 0 || (tot <= 0 && m)) {
		printf("-1\n");
		return;
	}
	int a[m]={0};
	while(tot>0) {
		for(int i=0; i<m; i++) {
			a[i]++;
			tot--;
			if(tot==0) break;
		}
	}
	for(int x:a) printf("%d\n", x);
}

int main() {
	int t;
	t = 1;
	//scanf("%d", &t);
	while(t--) {
		solve();
	}
	return 0;
}
