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());
}
}