#include #include using mint = atcoder::modint; int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int p; std::cin >> p; mint::set_mod(p); std::vector Fac(p, 1), Finv(p, 1); for (int i = 1; i < p; i++) { Fac[i] = i * Fac[i - 1]; } Finv.back() = Fac.back().inv(); for (int i = p - 1; i--;) { Finv[i] = (i + 1) * Finv[i + 1]; } mint ans = 0; for (int i = 0; i < p; i++) { ans += Finv[i]; } std::cout << ans.val() << '\n'; }