Skip to content

Instantly share code, notes, and snippets.

@metasta
Last active June 25, 2018 12:32
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save metasta/47414638f6e3e7688124a30b96006e85 to your computer and use it in GitHub Desktop.
Save metasta/47414638f6e3e7688124a30b96006e85 to your computer and use it in GitHub Desktop.
Ackermann 函数と Python で遊んだ

手習(Ackermann 函数)

計算量が爆発的に増大する Ackermann 函数を3つの方法で実装して実行速度を比較する.

※2013年12月頃に Python 手習のため書いた短いコードをまとめたもの.

Ackermann 函数とは

アッカーマン関数 - Wikipedia 参照.

実例

ack_print.py で計算過程を含めて表示できる. この Gist にも例を附録としてつけた.

実装

  • ackermann_orig() : 定義通りの素直な実装.
  • ackermann_list() : リストを使用して再帰を避けた実装.
  • ackermann_memo() : 途中結果をメモに保存して同じ計算の反復を避けた実装.

結果

  • MacBook Air (13-inch, Early 2015)
  • プロセッサ 1.6 GHz Intel Core i5
  • メモリ 8 GB 1600 MHz DDR3
$ python ack_bench.py
ackermann_orig(3,9) 	 = 4093 	3.882247 s
ackermann_list(3,9) 	 = 4093 	6.061916 s
ackermann_memo(3,9) 	 = 4093 	0.010531 s
$

memo が圧倒的に高速. list は元より遅くなってしまった.

#!/usr/bin/python
# -*- coding: utf-8 -*-
# 定義に忠実な Ackermann 関数の実装
def ackermann_orig(m, n):
if m == 0:
return n + 1
elif n == 0:
return ackermann_orig(m - 1, 1)
else:
return ackermann_orig(m - 1, ackermann_orig(m, n - 1))
# リストを使って再帰をなくした実装
# リストで再帰をなくすというのは、たとえば
# Ack(2,1)
# = Ack(1,Ack(2,0))
# = Ack(1,Ack(1,1))
# = ...
# という再帰計算の代わりに、引数だけを抜き出して
# 1つのリストにまとめ、そのリストを操作する。
# [2,1]
# = [1,2,0]
# = [1,1,1]
# = ...
#
# ※ a[-2:] は list a の末尾の2つの要素からなる部分リストを返す。
def ackermann_list(p, q):
a = [p, q]
while len(a) > 1:
m, n = a[-2:]
if m == 0:
a[-2:] = [n+1]
elif n == 0:
a[-2:] = [m-1, 1]
else:
a[-2:] = [m-1, m, n-1]
return a[0]
# メモを使って同じ計算の反復を避ける実装
# たとえば Ack(1,1) = Ack(0,Ack(1,0)) = Ack(0,Ack(0,1)) = Ack(0,2) = 3
# この結果「Ack(1,1) = 3」をメモに保存しておけば、
# 次に再び Ack(1,1) を計算する必要が生じたとき実際の計算を省いて
# 即座に 3 を返すことができる。
def memoize(f):
memo = {}
def function(*args):
if not args in memo:
memo[args] = f(*args)
return memo[args]
return function
@memoize
def ackermann_memo(m, n):
if m == 0:
return n + 1
elif n == 0:
return ackermann_memo(m - 1, 1)
else:
return ackermann_memo(m - 1, ackermann_memo(m, n - 1))
# 実行速度計測
# 再帰回数の上限を増やしておく
import sys
sys.setrecursionlimit(10000)
m = 3
n = 9
import time
print 'ackermann_orig(%d,%d) \t =' % (m,n),
start = time.time()
print ackermann_orig(m,n),
end = time.time()
print '\t%f s' % (end - start)
print 'ackermann_list(%d,%d) \t =' % (m,n),
start = time.time()
print ackermann_list(m,n),
end = time.time()
print '\t%f s' % (end - start)
print 'ackermann_memo(%d,%d) \t =' % (m,n),
start = time.time()
print ackermann_memo(m,n),
end = time.time()
print '\t%f s' % (end - start)
def ackermann(match):
m, n = [int(s) for s in match.group(1, 2)]
if m == 0:
return str(n + 1)
elif n == 0:
return 'A(%d,1)' % (m - 1)
else:
return 'A(%d,A(%d,%d))' % (m - 1, m, n - 1)
import re
def main(m, n):
p = re.compile(r'A\((\d+),(\d+)\)')
e = 'A(%d,%d)' % (m, n)
print(e)
while not e.isdigit():
e = p.sub(ackermann, e)
print(' = ' + e)
import sys
m, n = [int(s) for s in sys.argv[1:3]]
main(m, n)

附録:Ackermann 函数の計算例 (Ackermann(3,2))

$ python ack_print.py 3 2
A(3,2)
 = A(2,A(3,1))
 = A(2,A(2,A(3,0)))
 = A(2,A(2,A(2,1)))
 = A(2,A(2,A(1,A(2,0))))
 = A(2,A(2,A(1,A(1,1))))
 = A(2,A(2,A(1,A(0,A(1,0)))))
 = A(2,A(2,A(1,A(0,A(0,1)))))
 = A(2,A(2,A(1,A(0,2))))
 = A(2,A(2,A(1,3)))
 = A(2,A(2,A(0,A(1,2))))
 = A(2,A(2,A(0,A(0,A(1,1)))))
 = A(2,A(2,A(0,A(0,A(0,A(1,0))))))
 = A(2,A(2,A(0,A(0,A(0,A(0,1))))))
 = A(2,A(2,A(0,A(0,A(0,2)))))
 = A(2,A(2,A(0,A(0,3))))
 = A(2,A(2,A(0,4)))
 = A(2,A(2,5))
 = A(2,A(1,A(2,4)))
 = A(2,A(1,A(1,A(2,3))))
 = A(2,A(1,A(1,A(1,A(2,2)))))
 = A(2,A(1,A(1,A(1,A(1,A(2,1))))))
 = A(2,A(1,A(1,A(1,A(1,A(1,A(2,0)))))))
 = A(2,A(1,A(1,A(1,A(1,A(1,A(1,1)))))))
 = A(2,A(1,A(1,A(1,A(1,A(1,A(0,A(1,0))))))))
 = A(2,A(1,A(1,A(1,A(1,A(1,A(0,A(0,1))))))))
 = A(2,A(1,A(1,A(1,A(1,A(1,A(0,2)))))))
 = A(2,A(1,A(1,A(1,A(1,A(1,3))))))
 = A(2,A(1,A(1,A(1,A(1,A(0,A(1,2)))))))
 = A(2,A(1,A(1,A(1,A(1,A(0,A(0,A(1,1))))))))
 = A(2,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(1,0)))))))))
 = A(2,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,1)))))))))
 = A(2,A(1,A(1,A(1,A(1,A(0,A(0,A(0,2))))))))
 = A(2,A(1,A(1,A(1,A(1,A(0,A(0,3)))))))
 = A(2,A(1,A(1,A(1,A(1,A(0,4))))))
 = A(2,A(1,A(1,A(1,A(1,5)))))
 = A(2,A(1,A(1,A(1,A(0,A(1,4))))))
 = A(2,A(1,A(1,A(1,A(0,A(0,A(1,3)))))))
 = A(2,A(1,A(1,A(1,A(0,A(0,A(0,A(1,2))))))))
 = A(2,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(1,1)))))))))
 = A(2,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,0))))))))))
 = A(2,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,1))))))))))
 = A(2,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,2)))))))))
 = A(2,A(1,A(1,A(1,A(0,A(0,A(0,A(0,3))))))))
 = A(2,A(1,A(1,A(1,A(0,A(0,A(0,4)))))))
 = A(2,A(1,A(1,A(1,A(0,A(0,5))))))
 = A(2,A(1,A(1,A(1,A(0,6)))))
 = A(2,A(1,A(1,A(1,7))))
 = A(2,A(1,A(1,A(0,A(1,6)))))
 = A(2,A(1,A(1,A(0,A(0,A(1,5))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,A(1,4)))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,A(0,A(1,3))))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,2)))))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1))))))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0)))))))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1)))))))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2))))))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,3)))))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,A(0,A(0,4))))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,A(0,5)))))))
 = A(2,A(1,A(1,A(0,A(0,A(0,6))))))
 = A(2,A(1,A(1,A(0,A(0,7)))))
 = A(2,A(1,A(1,A(0,8))))
 = A(2,A(1,A(1,9)))
 = A(2,A(1,A(0,A(1,8))))
 = A(2,A(1,A(0,A(0,A(1,7)))))
 = A(2,A(1,A(0,A(0,A(0,A(1,6))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(1,5)))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,A(1,4))))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3)))))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2))))))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1)))))))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0))))))))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1))))))))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2)))))))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3))))))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4)))))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,A(0,5))))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,A(0,6)))))))
 = A(2,A(1,A(0,A(0,A(0,A(0,7))))))
 = A(2,A(1,A(0,A(0,A(0,8)))))
 = A(2,A(1,A(0,A(0,9))))
 = A(2,A(1,A(0,10)))
 = A(2,A(1,11))
 = A(2,A(0,A(1,10)))
 = A(2,A(0,A(0,A(1,9))))
 = A(2,A(0,A(0,A(0,A(1,8)))))
 = A(2,A(0,A(0,A(0,A(0,A(1,7))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(1,6)))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(1,5))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,4)))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3))))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2)))))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1))))))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0)))))))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1)))))))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2))))))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3)))))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4))))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,5)))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,A(0,6))))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,A(0,7)))))))
 = A(2,A(0,A(0,A(0,A(0,A(0,8))))))
 = A(2,A(0,A(0,A(0,A(0,9)))))
 = A(2,A(0,A(0,A(0,10))))
 = A(2,A(0,A(0,11)))
 = A(2,A(0,12))
 = A(2,13)
 = A(1,A(2,12))
 = A(1,A(1,A(2,11)))
 = A(1,A(1,A(1,A(2,10))))
 = A(1,A(1,A(1,A(1,A(2,9)))))
 = A(1,A(1,A(1,A(1,A(1,A(2,8))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(2,7)))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(2,6))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(2,5)))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(2,4))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(2,3)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(2,2))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(2,1)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(2,0))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,1))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(1,0)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,1)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,2))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,3)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(1,2))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(1,1)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(1,0))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,1))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,2)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,3))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,4)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,5))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(1,4)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(1,3))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(1,2)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(1,1))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,0)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,1)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,2))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,3)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,4))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,5)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,6))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,7)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(1,6))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(1,5)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(1,4))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(1,3)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,2))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,3))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,4)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,5))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,6)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,7))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,8)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,9))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(1,8)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(1,7))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(1,6)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(1,5))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,4)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,5)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,6))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,7)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,8))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,9)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,10))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,11)))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(1,10))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(1,9)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(1,8))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(1,7)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,6))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,5)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,4))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,5))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,6)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,7))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,8)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,9))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,10)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,11))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,12)))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(1,13))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(1,12)))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(1,11))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(1,10)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(1,9))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,8)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,7))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,6)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,5))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,4)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0)))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1)))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,5)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,6))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,7)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,8))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,9)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,10))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,11)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,12))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,13)))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,A(0,14))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(1,15)))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(1,14))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(1,13)))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(1,12))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(1,11)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,10))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,9)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,8))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,7)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,6))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,5)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,4))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1)))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2)))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,5))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,6)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,7))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,8)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,9))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,10)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,11))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,12)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,13))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,14)))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,A(0,15))))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,A(0,16)))))))
 = A(1,A(1,A(1,A(1,A(1,A(1,17))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(1,16)))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(1,15))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(1,14)))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(1,13))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,12)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,11))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,10)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,9))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,8)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,7))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,6)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,5))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,4)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2)))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0)))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1)))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3)))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,5)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,6))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,7)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,8))))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,9)))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,10))))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,11)))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,12))))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,13)))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,14))))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,15)))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,A(0,16))))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,A(0,17)))))))
 = A(1,A(1,A(1,A(1,A(1,A(0,18))))))
 = A(1,A(1,A(1,A(1,A(1,19)))))
 = A(1,A(1,A(1,A(1,A(0,A(1,18))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(1,17)))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(1,16))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(1,15)))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,14))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,13)))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,12))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,11)))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,10))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,9)))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,8))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,7)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,6))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,5)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,4))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3)))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1)))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0))))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1))))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2)))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3))))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4)))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,5))))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,6)))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,7))))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,8)))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,9))))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,10)))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,11))))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,12)))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,13))))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,14)))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,15))))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,16)))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,A(0,17))))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,A(0,18)))))))
 = A(1,A(1,A(1,A(1,A(0,A(0,19))))))
 = A(1,A(1,A(1,A(1,A(0,20)))))
 = A(1,A(1,A(1,A(1,21))))
 = A(1,A(1,A(1,A(0,A(1,20)))))
 = A(1,A(1,A(1,A(0,A(0,A(1,19))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(1,18)))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(1,17))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,16)))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,15))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,14)))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,13))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,12)))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,11))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,10)))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,9))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,8)))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,7))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,6)))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,5))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,4)))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3))))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2)))))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1))))))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0)))))))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1)))))))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2))))))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3)))))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4))))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,5)))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,6))))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,7)))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,8))))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,9)))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,10))))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,11)))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,12))))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,13)))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,14))))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,15)))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,16))))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,17)))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,A(0,18))))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,A(0,19)))))))
 = A(1,A(1,A(1,A(0,A(0,A(0,20))))))
 = A(1,A(1,A(1,A(0,A(0,21)))))
 = A(1,A(1,A(1,A(0,22))))
 = A(1,A(1,A(1,23)))
 = A(1,A(1,A(0,A(1,22))))
 = A(1,A(1,A(0,A(0,A(1,21)))))
 = A(1,A(1,A(0,A(0,A(0,A(1,20))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(1,19)))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(1,18))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,17)))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,16))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,15)))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,14))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,13)))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,12))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,11)))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,10))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,9)))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,8))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,7)))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,6))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,5)))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,4))))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3)))))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2))))))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1)))))))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0))))))))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1))))))))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2)))))))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3))))))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4)))))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,5))))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,6)))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,7))))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,8)))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,9))))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,10)))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,11))))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,12)))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,13))))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,14)))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,15))))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,16)))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,17))))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,18)))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,A(0,19))))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,A(0,20)))))))
 = A(1,A(1,A(0,A(0,A(0,A(0,21))))))
 = A(1,A(1,A(0,A(0,A(0,22)))))
 = A(1,A(1,A(0,A(0,23))))
 = A(1,A(1,A(0,24)))
 = A(1,A(1,25))
 = A(1,A(0,A(1,24)))
 = A(1,A(0,A(0,A(1,23))))
 = A(1,A(0,A(0,A(0,A(1,22)))))
 = A(1,A(0,A(0,A(0,A(0,A(1,21))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(1,20)))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(1,19))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,18)))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,17))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,16)))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,15))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,14)))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,13))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,12)))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,11))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,10)))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,9))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,8)))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,7))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,6)))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,5))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,4)))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3))))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2)))))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1))))))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0)))))))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1)))))))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2))))))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3)))))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4))))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,5)))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,6))))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,7)))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,8))))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,9)))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,10))))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,11)))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,12))))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,13)))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,14))))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,15)))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,16))))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,17)))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,18))))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,19)))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,A(0,20))))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,A(0,21)))))))
 = A(1,A(0,A(0,A(0,A(0,A(0,22))))))
 = A(1,A(0,A(0,A(0,A(0,23)))))
 = A(1,A(0,A(0,A(0,24))))
 = A(1,A(0,A(0,25)))
 = A(1,A(0,26))
 = A(1,27)
 = A(0,A(1,26))
 = A(0,A(0,A(1,25)))
 = A(0,A(0,A(0,A(1,24))))
 = A(0,A(0,A(0,A(0,A(1,23)))))
 = A(0,A(0,A(0,A(0,A(0,A(1,22))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(1,21)))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,20))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,19)))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,18))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,17)))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,16))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,15)))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,14))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,13)))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,12))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,11)))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,10))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,9)))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,8))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,7)))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,6))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,5)))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,4))))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,3)))))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,2))))))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,1)))))))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(1,0))))))))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,1))))))))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,2)))))))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,3))))))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,4)))))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,5))))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,6)))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,7))))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,8)))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,9))))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,10)))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,11))))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,12)))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,13))))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,14)))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,15))))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,16)))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,17))))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,18)))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,19))))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,20)))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,A(0,21))))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,A(0,22)))))))
 = A(0,A(0,A(0,A(0,A(0,A(0,23))))))
 = A(0,A(0,A(0,A(0,A(0,24)))))
 = A(0,A(0,A(0,A(0,25))))
 = A(0,A(0,A(0,26)))
 = A(0,A(0,27))
 = A(0,28)
 = 29
 $
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment