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

-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.ArrayList;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.List;
import java.io.BufferedReader;
import java.math.BigInteger;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.io.IOException;
import java.util.StringTokenizer;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 * @author minhthai
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        TaskC solver = new TaskC();
        solver.solve(1, in, out);
        out.close();
    }
}

class TaskC {
    String S;
    public void solve(int testNumber, InputReader in, PrintWriter out) {
        S = in.nextLine();
        long []arr = new long[S.length()];
        List<Integer> marks = new ArrayList<Integer>();
        if(S.charAt(0) == '(') arr[0] = 1;
        if(S.charAt(0) == ')') arr[0] = -1;

        for(int i = 1; i < S.length(); ++i) {
            if(S.charAt(i) == '(') arr[i] += 1 + arr[i - 1];
            if(S.charAt(i) == ')') {
                arr[i] += arr[i - 1] - 1;
            }
            if(S.charAt(i) == '#') {
                marks.add(i);
                arr[i] = arr[i - 1];
            }

        }
        long min = arr[S.length() - 1];
        if(min <= 0) {
            out.println(-1);
            return;
        }
        for(int i = 0; i < marks.size(); ++i) {
            long limit = 1;
            if(i + 1 == marks.size())
                limit = min;
            out.println(limit);
            min -= limit;
        }
    }

}

class InputReader {
    public BufferedReader reader;
    public StringTokenizer tokenizer;

    public InputReader(InputStream stream) {
        reader = new BufferedReader(new InputStreamReader(stream));
        tokenizer = null;
    }

    public String nextLine() {
        if (tokenizer != null) {
            while (tokenizer.hasMoreTokens())
                tokenizer.nextToken();
        }
        try {
            return reader.readLine();
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

}
