import java.util.Scanner;
import java.util.Stack;
import javax.naming.spi.DirStateFactory.Result;
public class Solution{
public static boolean isValid( String s){
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < s.length(); ++i) {
if (s.charAt(i) == '(') {
stack.push (')');
}
else if (s.charAt(i) == '[') {
stack.push (']');
}
else if (s.charAt(i) == '{') {
stack.push ('}');
}
else if(stack.empty() || s.charAt(i) != stack.peek())
return false;
else {
stack.pop();
}
}
return stack.empty();
}
public static void main(String[] args) {
String string ;
Scanner scanner = new Scanner(System.in);
string = scanner.next();
System.out.println(isValid(string));
}
}
import java.util.Stack;
import javax.naming.spi.DirStateFactory.Result;
public class Solution{
public static boolean isValid( String s){
Stack<Character> stack = new Stack<Character>();
for (int i = 0; i < s.length(); ++i) {
if (s.charAt(i) == '(') {
stack.push (')');
}
else if (s.charAt(i) == '[') {
stack.push (']');
}
else if (s.charAt(i) == '{') {
stack.push ('}');
}
else if(stack.empty() || s.charAt(i) != stack.peek())
return false;
else {
stack.pop();
}
}
return stack.empty();
}
public static void main(String[] args) {
String string ;
Scanner scanner = new Scanner(System.in);
string = scanner.next();
System.out.println(isValid(string));
}
}