#include <iostream>
#include <cstdio>
using namespace std;
//英语 看博友分析 抄博友程序 代入数易理解 逆序对 排列组合 背
long long fac[1000008];
long long mod;
long long qpow(long long a,long long n)
{
long long ba=a;
long long jg=1;
while(n!=0)
{
if(n&1)
{
jg=(jg*ba)%mod;
}
ba=ba*ba%mod;
n=n>>1;
}
return jg;
}
int main()
{
mod=20100713;
fac[0]=1;
fac[1]=1;
for(int i=2;i<1000000;i++)
{
fac[i]=(fac[i-1]*i)%mod;
}
int T;
//cin>>T;
scanf("%d",&T);
for(int o=0;o<T;o++)
{
int n,k;
//cin>>n>>k;
scanf("%d%d",&n,&k);
printf("%d\n",(fac[k]*((qpow(k+1,n-k)-qpow(k,n-k)+mod)%mod))%mod);
}
return 0;
}