import sys

d = {'(': -1, ')': 1, ' ': 0}


class Node:
    def __init__(self, val):
        self.val = val
        self.left = None
        self.right = None
class Main:

    def __init__(self):
        self.num = 0

    def solve(self, s1, s2):
        # 检查是否存在可能性
        res = 0
        for c in s1:
            res += d[c]
        for c in s2:
            res += d[c]
        if res != 0:
            return 0
        self.s1 = s1
        self.s2 = s2
        self.N = len(s1) + len(s2)
        root = Node('')
        self.buildTree(root, 0, 0)
        self.count(root)
        return self.num

    def buildTree(self, root, i, j):

        if i < len(self.s1):
            left = root.val + self.s1[i]
            if check(left):
                root.left = Node(left)
                self.buildTree(root.left, i + 1, j)

        if j < len(self.s2):
            right = root.val + self.s2[j]
            if check(right):
                root.right = Node(right)
                self.buildTree(root.right, i, j + 1)

    def count(self, root):
        if root.left != None:
            self.count(root.left)

        if root.right != None:
            self.count(root.right)

        if len(root.val) == self.N:
            self.num += 1




def check(s):
    res = 0
    for c in s:
        res += d[c]
        if res > 0:
            return False
    return True


if __name__ == '__main__':
    s1 = sys.stdin.readline().strip()
    s2 = sys.stdin.readline().strip()

    sol = Main()
    print(sol.solve(s1, s2))
第四题,大佬见笑