#include<bits/stdc++.h>
#define ll unsigned long long
using namespace std;
const __int128 MOD=1000000007;
__int128 sum(__int128 x, __int128 y)//求和
{
return ((x+y)*(y-x+1)/2)%MOD;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int tccnt;
cin>>tccnt;
ll n,k;
while(tccnt--)
{
cin>>n>>k;
__int128 lst=n*(n+1)/2%MOD;
__int128 scd=n*(n-1)/2%MOD;
if(k%2==0)
{
__int128 s=(sum(lst-k/2+1,lst)+sum(scd-k/2+1,scd))%MOD;
cout<<(unsigned long long)s<<endl;
}
else
{
__int128 s=(sum(lst-k/2+1,lst)+sum(scd-k/2+1,scd)+lst-k/2)%MOD;
cout<<(unsigned long long)s<<endl;
}
}
return 0;
}