링크텍스트

import java.util.*;
import java.io.*;
import java.math.BigInteger;
class Main {
public static void main (String[] args) throws java.lang.Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
BigInteger a = new BigInteger(st.nextToken());
BigInteger b = new BigInteger(st.nextToken());
BigInteger c = new BigInteger(st.nextToken());
BigInteger sum = a.modPow(b, c);
System.out.println(sum);
}
}

import java.util.*;
import java.io.*;
class Main {
public static void main (String[] args) throws java.lang.Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
long a = Long.parseLong(st.nextToken());
long b = Long.parseLong(st.nextToken());
long c = Long.parseLong(st.nextToken());
System.out.println(pow(a,b,c));
}
public static long pow(long a, long b, long c){
if(b==1){
return a%c;
}
long temp = pow(a, b/2, c);
if(b%2!=0){
return (temp*temp%c)*a%c;
}else
return temp*temp%c;
}
}
