#include using namespace std; int dp[1 << 20]; int main() { int n, s, m; scanf("%d%d%d", &n, &s, &m); dp[1] = s; for (int i = 2; i <= n; ++i) { dp[i] = (1LL * dp[i - 1] * s - dp[(i + 1) / 2] + m) % m; } cout << dp[n] << "\n"; }