Pagini recente » Istoria paginii info-oltenia-2019/individual/clasament/10 | Clasamentul arhivei de probleme | Clasamentul arhivei de probleme | Clasamentul arhivei de probleme | Cod sursa (job #1642702)
#include <cstdio>
#define MOD 666013
#define MAXN 5000
int fact[MAXN+1], nr[MAXN];
int main(){
int n, k, ans, i;
FILE *fin, *fout;
fin=fopen("kperm.in", "r");
fout=fopen("kperm.out", "w");
fscanf(fin, "%d%d", &n, &k);
fact[0]=1;
for(i=1; i<=n; i++){
nr[i%k]++;
fact[i]=(fact[i-1]*(long long)i)%MOD;
}
ans=(fact[n%k]*(long long)fact[k-n%k])%MOD;
for(i=0; i<k; i++){
ans=(ans*(long long)fact[nr[i]])%MOD;
}
if(k%2==0){
ans=0;
}
fprintf(fout, "%d\n", ans);
return 0;
}