#アッカーマン関数を2通りで定義
def acm_r(m,n):
 if m == 0:
  return n + 1
 if n == 0:
  return acm_r(m - 1, 1)
 return acm_r(m - 1, acm_r(m, n - 1))

def acm_non_r(m,n):
 stk = [(m, n)]
 while(len(stk)):
  m,n = stk.pop()
  if m is None and n is not None:
   if len(stk):
    m,_ = stk.pop()
    stk.append((m, n))
   else:
    break
  else:
   if m == 0:
    stk.append((None, n+1))
   elif n == 0:
    stk.append((m-1, 1))
   else:
    stk.append((m-1, None))
    stk.append((m, n-1))
 return n

#acm(i,j) 0<=i<4, 0<=j<5 で検査
print(all(acm_r(i,j) == acm_non_r(i,j) for i in range(4) for j in range(5)))