#include using namespace std; using ll = long long; void fast_io() { cin.tie(nullptr)->sync_with_stdio(false); } const int MAX = 1e6; ll fac[MAX + 1], facp[MAX + 1]; void solve() { ll L, R, M; cin >> L >> R >> M; fac[0] = 1; for (int i = 1; i <= M; i++) fac[i] = fac[i - 1] * i % M; facp[0] = 1; for (int i = 1; i <= M; i++) facp[i] = facp[i - 1] * fac[i] % M; ll ans = 0; for (ll i = L; i <= min(M, R); i++) ans = (ans + facp[i]) % M; cout << ans << '\n'; } int main() { fast_io(); int t = 1; // cin >> t; while (t--) solve(); }