Pagini recente » Cod sursa (job #2629752) | Cod sursa (job #2666590) | Cod sursa (job #2942968) | Cod sursa (job #1387187) | Cod sursa (job #451541)
Cod sursa(job #451541)
#include <cstdio>
#define file_in "kperm.in"
#define file_out "kperm.out"
long long n,k,fact[5010];
#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=0;
long long p;
if (k%2==0)
printf("0\n");
else
{
fact[0]=1;
for (i=1;i<=n;++i) fact[i]=(fact[i-1]*i)%mod;
suma=fact[r]%mod;
for (i=1;i<=r;++i)
suma=(suma+fact[c+1])%mod;
suma=(suma+fact[k-r])%mod;
for (i=r+1;i<=k;++i)
suma=(suma+fact[c])%mod;
printf("%lld", suma);
}
}
int main()
{
citire();
solve();
fclose(stdin);
fclose(stdout);
return 0;
}