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

-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.util.*;
import java.io.*;

public class A{

	public static void main(String args[]){
		Scanner in = new Scanner(System.in);
		char[] str = in.next().toCharArray();
		int n = str.length;
		boolean[] checked = new boolean[n];
		boolean hasAns = true;
		int open = 0;
		int lastIdx = 0;
		for(int i = 0; i < n; i++){
			if(str[i] == '#')
				lastIdx = i;
		}
		int lastPrint = 1;
		for(int i = 0; i < n; i++){
			if(str[i] == '('){
				open++;
			} else if(str[i] == ')'){
				open--;
				if(open < 0){
					hasAns = false;
					break;
				}
			} else{
				open--;
				if(open < 0){
					hasAns = false;
					break;
				}
				if(lastIdx == i){
					int cnt = 0;
					for(int j = i + 1; j < n; j++){
						if(str[j] == '('){
							cnt++;
						} else if(str[j] == ')'){
							cnt--;
							if(cnt < 0){
								break;
							}
						}
					}
					if(cnt > 0)
						hasAns = false;
					else{
						if(open + cnt >= 0){
							lastPrint += open + cnt;
						}else{
							hasAns = false;;
						}
					}
					break;
				}
			}
		}
		for(int i = 0; i < n && hasAns; i++){
			if(str[i] == '#' && i != lastIdx)
				System.out.println(1);
			else if(str[i] == '#')
				System.out.println(lastPrint);
		}
		if(!hasAns){
			System.out.println(-1);
		}
	}
}
