Informatica Online Judge

  POW (small) [1099 / 044B]

Time Limit(Test case) : 1000(ms)
Number of users who solved : 471   Total Tried : 2785


The Champion of this Problem (C++) : rankno1 - ms / 225byte
My Best Submission (C++) : N/A

[JeongHJ]

Background

재민이는 프로그램 코딩을 할 때, math.h를 활용하여 다양한 수학 함수를 활용하고 있다. 이런 점이 못마땅한 seaguy 샘이 재민이에게 더 이상 math.h 함수를 사용하지 않고 연산을 하도록 다음과 같은 문제를 제시하였다.

n^m을 계산하는 문제이다. 일반적으로 pow()함수를 이용하면 간단하게 계산할 수 있지만 사용할 수가 없으니 이제는 다른 방법으로 문제를 해결해야 한다.

재민이를 도와 n^m을 계산하는 프로그램을 작성해보자.

Input

첫 번째 줄에 정수 n, m이 입력으로 주어진다. (단, 0 <= n, m <= 100,000)

Output

n^m의 결과를 출력한다. 단, 수가 너무 크므로 1,000,000,007로 나눈 값을 출력한다.

IO Example

입력
3 2

출력
9

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]