Cod sursa(job #27254)

Utilizator victor_u_roVictor Ungureanu victor_u_ro Data 6 martie 2007 11:57:46
Problema Kperm Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>

#define PRIM 666013

int n, k, a, b;
long long r;

void cit() {
	freopen("kperm.in", "rt", stdin);

	scanf("%d %d\n", &n, &k);

	fclose(stdin);
}

void rez() {
	int i;
	long long r0, r1;

	b = n % k;
	a = k - b;
	r0 = 1;
	for (i = 1; i <= b; i++)
		r0 = (r0 * i) % PRIM;
	r = r0;
	r0 = 1;
	for (i = 1; i <= a; i++)
		r0 = (r0 * i) % PRIM;
	r = (r * r0) % PRIM;
	r0 = 1;
	for (i = 1; i <= n / k + 1; i++)
		r0 = (r0 * i) % PRIM;
	r1 = 1;
	for (i = 1; i <= b; i++)
		r1 = (r1 * r0) % PRIM;
	r = (r * r1) % PRIM;
	r0 = 1;
	for (i = 1; i <= n / k; i++)
		r0 = (r0 * i) % PRIM;
	r1 = 1;
	for (i = 1; i <= a; i++)
		r1 = (r1 * r0) % PRIM;
	r = (r * r1) % PRIM;
}

void afis() {
	freopen("kperm.out", "wt", stdout);

	printf("%lld\n", r);

	fclose(stdout);
}

int main() {
	cit();
	rez();
	afis();

	return 0;
}