#include <bits/stdc++.h>
using namespace std;
#define int long long

const int mod=1e9+7,N=3e5+9;
int fac[N],ifac[N];

int pw(int a,int t=mod-2){
    int x=1;
    while(t>0){
        if(t&1)x=x*a%mod;
        a=a*a%mod,t>>=1;
    }
    return x;
}
int C(int n,int r){
    if(r<0 or r>n)return 0;
    return fac[n]*ifac[r]%mod*ifac[n-r]%mod;
}
int32_t main(){
    ios::sync_with_stdio(0),cin.tie(0);
    fac[0]=ifac[0]=1;
    for(int i=1;i<N;i++){
        fac[i]=i*fac[i-1]%mod;
        ifac[i]=pw(fac[i]);
    }
    int T;
    cin >> T;
    while(T--){
        int n,k;
        cin >> n >> k;
        int s[n+1],ans=0;
        for(int i=1;i<=n;i++){
            s[i]=C(n-(i-1)*(k-1),i);
        }
        for(int i=1;i<n;i++){
            int x = (s[i]*(n-i)%mod+mod-s[i+1]*(i+1)%mod)%mod*fac[i]%mod;
            x = x*ifac[n]%mod*fac[n-i-1]%mod;
            ans = (ans+x*(i+1)%mod)%mod;
        }
        cout << ans << '\n';
    }
}

