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

-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.IOException;
import java.io.InputStreamReader;

public class A494 {
    public static void main(String[] args) throws IOException {
        BufferedReader inp = new BufferedReader(new InputStreamReader(System.in));
        String[] given = inp.readLine().split("");
        int totalLeft = 0;
        int totalRight = 0;
        int left = 0;
        int right = 0;
        boolean hash = false;
        int count = 0;
        for(int i=0;i<given.length;i++){
            if(given[i].equals("(")){
                left++;
            }
            if(given[i].equals(")")){
                right++;
            }
            if(given[i].equals("#")){
                count++;
                hash = true;
                totalLeft += left;
                totalRight+=right;
                left = 0;
                right = 0;
            }
        }
        if(totalLeft+left<= totalRight+right && hash){
            System.out.println(-1);
        }
        else{
            for(int i=0;i<count-1;i++){
                System.out.println(0);
            }
            System.out.println(totalLeft+left-totalRight-right);
        }
    }
}
