#include <iostream>
#include <cmath>
typedef unsigned int RETURN_TYPE;
RETURN_TYPE PowAndMod(RETURN_TYPE x, RETURN_TYPE y, RETURN_TYPE m);
int main()
{
RETURN_TYPE n, e, m;
std::cin >> n >> e >> m;
RETURN_TYPE result = PowAndMod(n, e, m);
std::cout << result;
}
RETURN_TYPE PowAndMod(RETURN_TYPE x, RETURN_TYPE y, RETURN_TYPE m)
{
RETURN_TYPE value = 1;
while (y > 0)
{
if (y & 1)
value = value * x % m;
x = x * x % m;
y >>= 1;
}
return value;
}