Pagini recente » Cod sursa (job #2120003) | Cod sursa (job #907538) | Cod sursa (job #1326912) | Cod sursa (job #2413098) | Cod sursa (job #1760073)
#include <bits/stdc++.h>
#define maxN 1002
#define mod 999017
using namespace std;
int n, dp[maxN], f, ans;
void read()
{
freopen("sortari2.in", "r", stdin);
scanf("%d", &n);
}
void solve()
{
int i, j;
dp[1] = 1;
f = 1;
for (i = 2; i <= n; ++ i)
{
dp[i] = 2 * dp[i - 1];
f = (1LL * f * i) % mod;
if (dp[i] >= mod)
dp[i] -= mod;
for (j = 1; j < i - 1; ++ j)
{
dp[i] += dp[j];
if (dp[i] >= mod)
dp[i] -= mod;
}
}
printf("%d\n", dp[n]);
ans = f - dp[n];
if (ans < 0)
ans += mod;
}
void write()
{
freopen("sortari2.out", "w", stdout);
printf("%d\n", ans);
}
int main()
{
read();
solve();
write();
return 0;
}