For this Question: Given a number N and a number P, your task is to calculate N<sup>P</sup>. Since the ans can be very long calculate your ans as N<sup>P</sup>%M where M = 10<sup>9</sup>+7Input contains only two integers N and P separated by spaces.

Constraints:- 
1 < = N, P <= 1000000000Print N<sup>P</sup>%M.Sample Input:-
2 5

Sample Output:-
32

Sample Input:-
2 100

Sample Output:-
976371285, I have written this Solution Code: import java.io.*;
import java.util.*;



class Main {
	public static void main (String[] args)throws IOException{
		BufferedReader rd=new BufferedReader(new InputStreamReader(System.in));
		String y[]=rd.readLine().split(" ");
		long n=Long.parseLong(y[0]);
		long p=Long.parseLong(y[1]);
		long v=1;
		while(p>0){
			if((p&1L)==1L)
			v=(v*n)%1000000007;
			p/=2;
			n=(n*n)%1000000007;
		}
		System.out.print(v);
	}
}


































, In this Programming Language: Java, Now tell me if this Code is compilable or not?