import java.util.Scanner;
import java.util.Stack;
import java.util.Objects;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = new String();
        // 注意 hasNext 和 hasNextLine 的区别
        str = in.nextLine();

        if (str == null || str.length() == 0) {
            System.out.println("false");
            return;
        }

        Stack<String> s1 = new Stack<>();
        for (int i = 0; i < str.length(); i++) {
            char input = str.charAt(i);
            if (input == '(' || input == '[') {
                s1.push(String.valueOf(input));
            }
            if (input == ')') {
                if (s1.isEmpty() || !Objects.equals(s1.peek(), "(")) {
                    System.out.println("false");
                    return;
                } else s1.pop();
            }
            if (input == ']') {
                if (s1.isEmpty() || !Objects.equals(s1.peek(), "[")) {
                    System.out.println("false");
                    return;
                } else s1.pop();
            }
        }
        System.out.println(s1.isEmpty());
    }
}