import java.util.*;
public class Main {
static class Node {
String val;
Node left, right;
Node(String v) { val = v; }
}
static Node parseNode(String s, int[] idx) {
if (idx[0] >= s.length() || s.charAt(idx[0]) != '(') return null;
idx[0]++; // '('
Node node = new Node(null);
// left subtree
if (idx[0] < s.length() && s.charAt(idx[0]) == '(') {
node.left = parseNode(s, idx);
}
if (idx[0] < s.length() && s.charAt(idx[0]) == ')') idx[0]++; // ')'
// value
int start = idx[0];
while (idx[0] < s.length() && s.charAt(idx[0]) != '(' && s.charAt(idx[0]) != ')')
idx[0]++;
node.val = s.substring(start, idx[0]);
// right subtree
if (idx[0] < s.length() && s.charAt(idx[0]) == '(') {
node.right = parseNode(s, idx);
}
if (idx[0] < s.length() && s.charAt(idx[0]) == ')') idx[0]++; // ')'
return node;
}
static void preorder(Node node, StringBuilder sb) {
if (node == null) return;
sb.append(node.val);
preorder(node.left, sb);
preorder(node.right, sb);
}
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
String s = sc.nextLine().trim();
String answer = sc.nextLine().trim();
int[] idx = {0};
Node root = parseNode(s, idx);
StringBuilder sb = new StringBuilder();
preorder(root, sb);
String preorderStr = sb.toString();
System.out.println(preorderStr.equals(answer) ? "1" : "0");
}
}