Pagini recente » Borderou de evaluare (job #1586543) | Cod sursa (job #2529251) | Cod sursa (job #2306286) | Borderou de evaluare (job #1824503) | Cod sursa (job #2111265)
#include <fstream>
#define LL long long
#define VAL 5005
#define MOD 666013
using namespace std;
ifstream fin("kperm.in");
ofstream fout("kperm.out");
LL N, K, i, j;
LL F[VAL], ANS=1;
int main()
{
fin >> N >> K;
F[0]=1;
for (i=1; i<=N; i++)
{
F[i]=F[i-1]*i;
F[i]%=MOD;
}
ANS=F[N % K]*F[K-(N % K)];
ANS%=MOD;
for (i=1; i<=N % K; i++)
{
ANS*=F[N / K+1];
ANS%=MOD;
}
for (i=1; i<=K-(N % K); i++)
{
ANS*=F[N / K];
ANS%=MOD;
}
fout << ANS << '\n';
fin.close();
fout.close();
return 0;
}