#m = primary element
#n = secondary element
def amf(m, n):#Our new function! Takes m and n as parameters as in A(m,n)
    if m == 0 and n >= 0:#A(0,n) = n + 1 for (n>=0)
        return n + 1#This gets the final answer
    if n == 0 and m > 0:#A(m,0) = A(m-1,1) for (m>0)
        return amf(m - 1, 1)#1 recursive function
    while n > 0 or m > 0:#A(m,n) = A(m-1,A(m, n-1)) for (m,n>0)
        return amf(m - 1, amf(m, n - 1))#Two recursive functions
print(amf(2,2))
#Putting large numbers will give Python an error as the function goes into
#over 1000 recursive loops (recursive loop is calling a function in a
#function, like when I used amf() inside the amf())
#頑張れ、イーサンくん！
