#include using namespace std; #ifdef LOCAL #include "settings/debug.cpp" #else #define Debug(...) void(0) #endif #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; inline ll modpow(ll a, ll b, ll mod) { ll res = 1; while (b) { if (b & 1) res = res * a % mod; a = a * a % mod; b >>= 1; } return res; } int main() { cin.tie(nullptr)->sync_with_stdio(false); ll a, b, c; cin >> a >> b >> c; ll t = 0; rep(i, c) t = (t + modpow(i, b, c)) % c; ll ans = t * ((a - 1) / c) % c; a %= c; rep(i, a + 1) ans = (ans + modpow(i, b, c)) % c; cout << ans << '\n'; return 0; }