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

-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

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Comparator;
import java.util.PriorityQueue;

public class Trial{
	
	
	static public void main(String[] args)throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String in = br.readLine();
		int curr =0,hashes=0;
		int[] hashs = new int[in.length()];
		
		for(int i=0;i<in.length();i++){
			if(in.charAt(i)=='(')
				curr++;
			else if (in.charAt(i)==')')
				curr--;
			else{
				int j;
				for(j=i+1;j<in.length();j++){
					if(in.charAt(j)==')')
						curr--;
					else
						break;
				}
				if(curr<=0)
					curr=1;
				hashs[hashes++]=curr;
				curr=0;
				i=j-1;
			}
		}
		
		int open=0,closed=0,index=0;
		boolean flag=true;
		for(int i=0;i<in.length();i++){
			if(closed>open){
				flag=false;
				break;
			}
			if(in.charAt(i)=='(')
				open++;
			else if(in.charAt(i)==')')
				closed++;
			else{
				closed+=hashs[index++];
			}
		}
		if(closed!=open)
			flag=false;
		
		if(!flag)
			System.out.println("-1");
		else{
			for(int i=0;i<hashes;i++)
				System.out.println(hashs[i]);
		}
		
		
	}
}