Cod sursa(job #484936)

Utilizator tamas_iuliaTamas Iulia tamas_iulia Data 16 septembrie 2010 15:59:10
Problema Kperm Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#define Nmax 5002
#define Mod 666013
#define LL long long

int n,k;
LL rez,felem;

void solve(){
	int i;
	if(k % 2 == 0 ) return;
	
	rez=1;
	for(i=1;i<=n%k;++i) rez=(rez*i)%Mod;
	for(i=1;i<=k-n%k;++i) rez=(rez*i)%Mod;
	
	felem=1;
	for(i=1;i<=n/k;++i) felem =(felem*i)%Mod;
	for(i=1;i<=k-n%k;++i) rez=(rez*felem)%Mod;
	
	felem=(felem*(n/k+1))%Mod;
	for(i=1;i<=n%k;++i) rez=(rez*felem)%Mod;
}	

int main(){
	freopen("kperm.in","r",stdin);
	freopen("kperm.out","w",stdout);
	scanf("%d%d",&n,&k);
	
	solve();
	
	printf("%lld\n",rez);
	fclose(stdin); fclose(stdout);
	return 0;
}