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

-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

// C. Treasure
// gengkev

import java.util.*;

public class Treasure {
   public static void main(String[] args) {
      Scanner sc = new Scanner(System.in);
      String line = sc.nextLine();
      sc.close();
      
      solve(line);
      System.exit(0);
   }
   
   private static void solve(String line) {
      int left = count(line, '(');
      int right = count(line, ')');
      int pounds = count(line, '#');
      
      if (left <= right) { // we cannot fix it by adding right
         System.out.println(-1);
         return;
      }
      
      int poundPos = 0;
      for (int i = 0; i < pounds; i++) {
         poundPos = line.indexOf('#', poundPos);
         String _line = line.substring(0, poundPos);
         
         int _left = count(_line, '(');
         int _right = count(_line, ')');
         
         if (left <= (right + pounds)) {
            System.out.println(-1);
            return;
         }
      }
      
      for (int i = 0; i < pounds - 1; i++) {
         System.out.println(1);
      }
      System.out.println((left - right) - (pounds - 1));
   }
   
   private static int count(String str, char c) {
      int count = 0;
      for (int i = 0; i < str.length(); i++) {
         if (str.charAt(i) == c)
            count++;
      }
      return count;
   }
}