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

-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 <iostream>  
#include <math.h>   
#include <algorithm> 
#include<vector>
#include<string>
using namespace std; 
void main (){ 
	long long n,t,k=0,x,y,id, ir, d1[1000001]={0},  kd=0, kr=0;
	vector<int> d,r;
	string s;
	getline(cin,s);
	id=0;
	for(int i=s.length()-1;i>=0;i--){
		if(s[i]=='#'){
			d.push_back(i);
			d1[d.size()-1]=1;
			k++;
		}
		else if(s[i]==')')
			k++;
		else {
			k--;
				if(d.size()!=0){
				d1[d.size()-1]+=-k;
				k=0;
				}
		}
		if(k<0){
			cout<<-1;
			return;
		}
	}
		if(k!=0 || d1[id]==0)
			cout<<-1;
		else {
			for(int i=d.size()-1;i>=0;i--)
				cout<<d1[i]<<endl;}
	//system("pause");
}