Pagini recente » Istoria paginii runda/cnitv_baraj_1 | Procente | Diferente pentru utilizator/tomescu_alin intre reviziile 42 si 38 | Diferente pentru problema/pandemie intre reviziile 39 si 10 | Cod sursa (job #2240425)
#include <bits/stdc++.h>
#define mod 999017
using namespace std;
typedef long long i64;
int main()
{
ifstream in("sortari2.in");
ofstream out("sortari2.out");
int n;
in >> n;
if (n == 1) {
out << 0 << '\n';
}
else if (n == 2) {
out << 0 << '\n';
}
else {
i64 bune = 1LL * (n - 1) * n + 1;
i64 ans = 1;
for (int i = 2; i <= n; i++)
ans = 1LL * i * ans % mod;
i64 r = ans - bune;
r %= mod;
out << (r + mod) % mod << '\n';
}
}