Pagini recente » Diferente pentru utilizator/gabiichim intre reviziile 2 si 1 | Istoria paginii utilizator/matei_deleanu | Istoria paginii problema/sabin | Diferente pentru utilizator/freak93 intre reviziile 61 si 62 | Cod sursa (job #2240424)
#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';
}
}