#include <bits/stdc++.h>

using namespace std;

const int N=1e5+5,MOD=1e9+7;

long long fac[N],infac[N];

long long poww(long long n,long long k)
{
	if(k==0) return 1;
	if(k&1) return (n*poww(n,k-1))%MOD;
	return poww((n*n)%MOD,k/2);
}

long long nck(long long n,long long k)
{
	return (((fac[n]*infac[k])%MOD)*infac[n-k])%MOD;
}

int main()
{
	fac[0]=infac[0]=1;
	for(int i=1;i<N;i++)
	{
		fac[i]=(i*fac[i-1])%MOD;
		infac[i]=poww(fac[i],MOD-2);
	}
	int t;
	cin >> t;
	while(t--)
	{
		int n,k;
		cin >> n >> k;
		long long ans=1;
		for(int i=1;i<=n;i++)
		{
			if(n-(i-1)*(k-1)<i) break;
			long long cur=nck(n-(i-1)*(k-1),i);
			cur*=poww(nck(n,i),MOD-2);
			cur%=MOD; ans+=cur; ans%=MOD;
		}
		printf("%lld\n",ans);
	}
}