# Q: How many total number of binary search trees are possible
# with 6 vertices?
# A: 132.
# Recurrence formula:
# b(0) = 1,
# b(n) = b(0)b(n-1) + b(1)b(n-2) + ... + b(n-1)b(0), n > 0.
# Generally speaking,
# b(n) = (2n)! / ((n+1)!n!), where n is nonnegative.
b = []
b.append(1)
n = 10
for k in range(1, n+1):
s = 0
for j in range(k):
s = s + b[j] * b[k-j-1]
b.append(s)
print(b)
IyBROiBIb3cgbWFueSB0b3RhbCBudW1iZXIgb2YgYmluYXJ5IHNlYXJjaCB0cmVlcyBhcmUgcG9zc2libGUKIyB3aXRoIDYgdmVydGljZXM/CiMgQTogMTMyLgoKIyBSZWN1cnJlbmNlIGZvcm11bGE6CiMgYigwKSA9IDEsCiMgYihuKSA9IGIoMCliKG4tMSkgKyBiKDEpYihuLTIpICsgLi4uICsgYihuLTEpYigwKSwgbiA+IDAuCgojIEdlbmVyYWxseSBzcGVha2luZywKIyBiKG4pID0gKDJuKSEgLyAoKG4rMSkhbiEpLCB3aGVyZSBuIGlzIG5vbm5lZ2F0aXZlLgoKYiA9IFtdCmIuYXBwZW5kKDEpCm4gPSAxMAoKZm9yIGsgaW4gcmFuZ2UoMSwgbisxKToKCXMgPSAwCglmb3IgaiBpbiByYW5nZShrKToKCQlzID0gcyArIGJbal0gKiBiW2stai0xXQoJYi5hcHBlbmQocykKCnByaW50KGIp
[1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796]