Pagini recente » Cod sursa (job #3266846) | Cod sursa (job #1229348) | Cod sursa (job #3032854) | Cod sursa (job #3237757) | Cod sursa (job #451546)
Cod sursa(job #451546)
#include <cstdio>
#define file_in "kperm.in"
#define file_out "kperm.out"
long long n,k;
#define mod 666013
void citire()
{
freopen(file_in,"r",stdin);
freopen(file_out,"w",stdout);
scanf("%lld %lld", &n, &k);
}
inline long long putere(long long a,long long b)
{
if (b==0)
return 1;
if (b%2==0)
{
long long x=putere(a,b/2);
return (x%mod)*(x%mod);
}
else
{
long long x=putere(a,b/2);
return ((x%mod)*(x%mod)*a)%mod;
}
}
void solve()
{
long long c=n/k;
long long r=n%k;
long long i,suma=1;
long long p;
if (k%2==1)
{
p=1;
for (i=2;i<=r;++i)
p=(p*i)%mod;
suma=(suma*p)%mod;
p=1;
for (i=2;i<=k-r;++i)
p=(p*i)%mod;
suma=(suma*p)%mod;
p=1;
for (i=2;i<=c+1;++i)
p=(p*i)%mod;
p=putere(p,r);
p%=mod;
suma=(suma*p)%mod;
p=1;
for (i=2;i<=c;++i)
p=(p*i)%mod;
p=putere(p,k-r);
p%=mod;
suma=(suma*p)%mod;
printf("%lld", suma);
}
else
printf("0\n");
}
int main()
{
citire();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}