import sys
sys.setrecursionlimit(100000)
memo = {}
def akk(m, n):
if not (m, n) in memo:
if m == 0:
res = n + 1
if m>0 and n==0:
res = akk(m-1,1)
if m>0 and n>0:
res = akk(m-1,akk(m,n-1))
memo[(m, n)] = res
return memo[(m, n)]
a, b = 3, 15
print(akk(a,b))
aW1wb3J0IHN5cwpzeXMuc2V0cmVjdXJzaW9ubGltaXQoMTAwMDAwKQoKbWVtbyA9IHt9CgpkZWYgYWtrKG0sIG4pOgogICAgaWYgbm90IChtLCBuKSBpbiBtZW1vOgogICAgICAgIGlmIG0gPT0gMDoKICAgICAgICAgICAgcmVzID0gbiArIDEKICAgICAgICBpZiBtPjAgYW5kIG49PTA6CiAgICAgICAgICAgIHJlcyA9IGFrayhtLTEsMSkKICAgICAgICBpZiBtPjAgYW5kIG4+MDoKICAgICAgICAgICAgcmVzID0gYWtrKG0tMSxha2sobSxuLTEpKQogICAgICAgIG1lbW9bKG0sIG4pXSA9IHJlcwogICAgcmV0dXJuIG1lbW9bKG0sIG4pXQoKYSwgYiA9IDMsIDE1CnByaW50KGFrayhhLGIpKQ==