import math


def interleave(left_size, right_size):
    """ Finds the number of possible ways to interleave the left and right sub tree

    We are interested only in the combinations with fixed ordering, giving the formula:
    (left_size + Right_size)! / (left_size! * right_size)
    """

    return math.factorial(left_size + right_size) / (math.factorial(left_size) * math.factorial(right_size))