import sys

sys.setrecursionlimit(15000)

# https://www.geeksforgeeks.org/knuths-up-arrow-notation-for-exponentiation/
def knuth_arrow(a, k, b, m):
    # a (k's ↑) b
    if b == 0:
        return 1
    if k == 1:
        return pow(a, b, m)
 
    return knuth_arrow(a, k - 1, knuth_arrow(a, k, b - 1, m), m);

print (knuth_arrow(1777, 2, 1855, 10**8))

