#include <iostream>
#include <cstdio>
using namespace std;
long long a[110000];
int main()
{
long long t;
long long n,k,i,j,m;
long long ans;
scanf("%I64d",&t);
while(t--)
{
scanf("%I64d%I64d",&n,&k);
ans=1;
if(k*(k+1)>2*n)
{
printf("-1\n");
continue;
}
m=(n-k*(k+1)/2)/k;
for(i=1;i<=k;i++)
{
a[i]=i+m;
}
m=(n-k*(k+1)/2)%k;
for(i=k;i>=k-m+1;i--)
a[i]++;
for(i=1;i<=k;i++)
{
ans=ans*a[i]%1000000007;
}
printf("%I64d\n",ans);
}
return 0;
}