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

-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;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;

public class A {

	public void solve() throws IOException {
        char[] c = in.readLine().toCharArray();
        int last = -1;
        for ( int i = 0; i < c.length; i ++ ) {
            if ( c[i] == '#' ) {
                last = i; 
            }
        }
        int s = 0;
        ArrayList<Integer> r = new ArrayList<Integer>();
        for ( int i = 0; i < c.length; i ++ ) {
            if ( c[i] == '(' ) {
                s ++;
            } else if ( c[i] == ')' ) {
                s --;
            } else if ( i != last ) {
                r.add( 1 );
                s --;
            } else {
                int t = 0;
                for ( int j = i + 1; j < c.length; j ++ ) {
                    if ( c[j] == '(' ) {
                        t ++;
                    } else {
                        t --;
                    }
                }
                if ( s + t <= 0 ) {
                    out.println( -1 );
                    return;
                }
                r.add( s + t );
                s = -t;
            }
            if ( s < 0 ) {
                out.println( -1 );
                return;
            }
        }
        for (Integer x : r) {
            out.println( x );
        }

    }

	public BufferedReader in;

	public PrintWriter out;

	A() throws IOException {
		in = new BufferedReader( new InputStreamReader( System.in ) );
		out = new PrintWriter( System.out );
	}

//    int nextInt() throws IOException {
//        in.nextToken();
//        return ( int ) in.nval;
//    }

    void check( boolean f, String msg ) {
        if ( ! f ) {
            out.close();
            throw new RuntimeException( msg );
        }
    }

    void close() throws IOException {
		out.close();
	}

    public void run() throws IOException {
        try {
            solve();
        } catch ( Exception e ) {
            e.printStackTrace();
        } finally {
            close();
        }
    }

    public static void main( String[] args ) throws IOException {
        new A().run();
    }
}
