#include using namespace std; int fac(int n, int m){ if (n > 1) { n *= fac(n - 1, m); if (n >= m) { n %= m; } return n; } else { return 1; } } int main(){ long long int L, R, M; cin >> L >> R >> M; if (L >= M) { cout << 0 << endl; return 0; } int facto = 1, index = 2; while (facto != 0) { facto *= fac(index, M); if (facto >= M) { facto %= M; } index++; } long long int ans = 0; for (int i = L; i < index + 1; i++) { long long int a = 1; for (int j = 1; j <= i; j++) { a *= fac(j, M); if (a >= M) { a %= M; } } ans += a; if (ans >= M) { ans %= M; } } cout << ans << endl; return 0; }