Great Pow!

아직 제출이 없습니다시간 제한10초메모리 제한64 MB

문제

aa의 거듭제곱 aba^bpowa(b)\mathrm{pow}_a(b)로 쓰자.

그리고 powa0(a)=a\mathrm{pow}_a^0(a) = a, powak+1(a)=powa(powak(a))\mathrm{pow}_a^{k+1}(a) = \mathrm{pow}_a\bigl(\mathrm{pow}_a^k(a)\bigr) (k0k \ge 0)로 정의한다.

aakk가 주어질 때 powak(a)\mathrm{pow}_a^k(a)를 구하라. 즉 aak+1k+1개 쌓인 거듭제곱 탑

aaaaa^{a^{a^{\cdots^{a}}}}

의 값이다. 이 탑은 맨 위에서부터 계산한다. 예를 들어 k=2k = 2이면 (aa)aa(aa)(a^a)^a \neq a^{(a^a)}이고, 구하는 값은 후자다.

입력

첫째 줄에 aakk가 공백으로 구분되어 주어진다. (1a1091 \le a \le 10^9, 0k1090 \le k \le 10^9)

출력

powak(a)\mathrm{pow}_a^k(a)a+1a+1로 나눈 나머지를 출력한다. 값 자체가 매우 커질 수 있어 나머지만 출력한다.

힌트

pow23(2)=2222=65536\mathrm{pow}_2^3(2) = 2^{2^{2^{2}}} = 65536이므로, 65536을 3으로 나눈 나머지인 1을 출력한다.