#include #include #include #include #include #include using namespace std; using i32 = int32_t; using u32 = uint32_t; using i64 = int64_t; using u64 = uint64_t; #define rep(i,n) for(int i=0; i<(int)(n); i++) const i64 INF = 1001001001001001001; using Modint = atcoder::dynamic_modint<998244353>; int main(){ i64 L, R; cin >> L >> R; R++; int M; cin >> M; Modint::set_mod(M); R = min(R, M); L = min(L, M); Modint ans = 0; vector F(M); F[0] = 1; for(int i=1; i FF(M+1); FF[0] = 1; for(int i=1; i<=M; i++) FF[i] = FF[i-1] * F[i]; for(i64 a=L; a