Arrow notation

Arrow notation is a famous notation invented by Knuth in 1976 to represent large numbers.

Formula
\(a \uparrow b = a^b\)

\(a \uparrow\uparrow b = \underbrace{a \uparrow a \uparrow a \uparrow \ldots}_{b}\)

\(a \uparrow\uparrow\uparrow b = \underbrace{a \uparrow\uparrow a \uparrow\uparrow a \uparrow\uparrow \ldots}_{b}\)

\(a \uparrow\uparrow\uparrow\uparrow b = \underbrace{a \uparrow\uparrow\uparrow a \uparrow\uparrow\uparrow a \uparrow\uparrow\uparrow \ldots}_{b}\)

\(a \underbrace{\uparrow\uparrow\ldots\uparrow\uparrow}_c b = \underbrace{a \underbrace{\uparrow\uparrow\ldots\uparrow\uparrow}_{c - 1} a \underbrace{\uparrow\uparrow\ldots\uparrow\uparrow}_{c - 1} a \underbrace{\uparrow\uparrow\ldots\uparrow\uparrow}_{c - 1} \ldots}_{b}\)

Arrows are always calculated from right to left.

Examples

 * \(2 \uparrow 3 = 2^3 = 8\)
 * \(10 \uparrow 100 = 10^{100} =\) googol
 * \(3 \uparrow\uparrow 4 = 3 \uparrow 3 \uparrow 3 \uparrow 3 = 3 \uparrow 3 \uparrow 27 = 3^{7625597484987}\)
 * \(2 \uparrow\uparrow\uparrow 2 = 2 \uparrow\uparrow 2 = 2 \uparrow 2 = 2^2 = 4\)
 * \(3 \uparrow\uparrow\uparrow 2 = 3 \uparrow\uparrow 3 = 3 \uparrow 3 \uparrow 3 = 3^{3^3} = 3^{27} = 7625597484987\)
 * \(2 \uparrow\uparrow\uparrow 3 = 2 \uparrow\uparrow 2 \uparrow\uparrow 2 = 2 \uparrow\uparrow 4 = 2 \uparrow 2 \uparrow 2 \uparrow 2 = 2 \uparrow 2 \uparrow 4 = 2 \uparrow 16 = 65536\)