using System.Numerics; using System; public class Hello { public static int MOD; static void Main() { string[] line = Console.ReadLine().Trim().Split(' '); var a = long.Parse(line[0]); var b = long.Parse(line[1]); MOD = int.Parse(line[2]); getAns(a, b); } static void getAns(long a, long b) { var t = new long[MOD]; var tv = a / MOD; for (int i = 0; i < MOD; i++) t[i] = tv; var y = a - tv * MOD; for (int i = 1; i <= y; i++) t[i]++; var ans = 0L; for (int i = 1; i < MOD; i++) { ans += t[i] * (long)BigInteger.ModPow(i, b, MOD); ans %= MOD; } Console.WriteLine(ans); } }