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

-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.util.ArrayList;
import java.util.List;

/**
 * @author Siryy Sergiy
 *         created in 13.12.2014
 */
public class prb {

    String s;
    int sum[];


    public prb(String s) {
        this.s = s;
        this.sum = new int[s.length()];
        ArrayList<Integer> stack = new ArrayList<Integer>();
        for (int i = 0; i < s.length(); i++) {
            switch (s.charAt(i)) {
                case (')'):
                    if (stack.size() > 0) {
                        inc(stack.get(stack.size() - 1), -1);
                        stack.remove(stack.size() - 1);
                    } else
                        inc(i, -1);
                    break;
                case ('('):
                    stack.add(i);
                    inc(i, 1);
                    break;
            }
        }
    }

    // Fenvik tree :
    private void inc(int i, int delta) {
        for (; i < sum.length; i = (i | (i + 1)))
            sum[i] += delta;
    }

    private int sum(int r) {
        int result = 0;
        for (; r >= 0; r = (r & (r + 1)) - 1)
            result += sum[r];
        return result;
    }


    private int sum(int l, int r) {
        return sum(r) - sum(l - 1);
    }


    public static void main(String[] args) throws IOException {
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String s = in.readLine();
        new prb(s).solve();
    }

    private void solve() {
        List<Integer> ints = new ArrayList<Integer>();
        List<Integer> pos = new ArrayList<Integer>();
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == '#') {
                int s = sum(i);
                if (s < 0 || (s == 0 && ints.size() == 0)) {
                    System.out.println(-1);
                    return;
                } else {
                    if (s > 0) {
                        inc(i, -s);
                        ints.add(s);
                        pos.add(i);
                    } else {
                        int k = i - 1;
                        int q = ints.size() - 1;
                        ints.add(1);
                        pos.add(i);
                        boolean f = false;
                        while (k >= 0 && this.s.charAt(k) == '#') {
                            ints.set(q, ints.get(q) - 1);
                            f = true;
                            if (ints.get(q) > 0) break;
                            q--;
                            k--;
                            f = false;
                        }
                        if (!f) {
                            System.out.println(-1);
                            return;
                        }
                    }
                }
            }
        }

        if (sum(sum.length - 1) != 0) System.out.println(-1);
        else
            for (int i = 0; i < ints.size(); i++)
                System.out.println(ints.get(i));
    }


}