#include <bits/stdc++.h>
using namespace std ;
using ll = long long ;

int T ;

int main(){
  cin >> T ;
  vector<ll> val ;
  for(int i = 0 ; i < T ; i++){
    ll R , L ;
    cin >> L >> R ;
    ll tmp = 2 * L ;
    if(R < tmp){
      val.push_back(0) ;
      continue ;
    }
    ll res = R - tmp + 1 ;
    ll ans = res * (res + 1) / 2 ;
    val.push_back(ans) ;
  }
  for(ll u : val) cout << u << endl ;
}
// Jai Shree Ram
#include<bits/stdc++.h>
typedef long long int ll;
#define pb push_back
#define max2(a,b) (a>b)?a:b
#define mi2(a,b) (a<=b)?a:b
#define fori(i,n) for(ll i=0;i<(ll)n;i++)
#define ford(i,n) for(ll i=n;i>=0;i--)
#define pll pair<ll,ll>
#define MOD 998244353
#define ff first
#define ss second
using namespace std;
#define MAX_LIMIT 1000001

// ll power(ll n, ll pow)
// {
//     n %= MOD;
//     long long int res = 1;
//     while (pow)
//     {
//         if (pow % 2)
//         {
//             res = ((res % MOD) * (n % MOD)) % MOD;
//         }
//         pow /= 2;
//         n = ((n % MOD) * (n % MOD)) % MOD;
//     }
//     res %= MOD;
//     return res;
// }

void solve()
{
	
	ll l,r;
	cin>>l>>r;
	ll ptr1=l,ptr2=r;

	ll n=(r-2*l)+1;
	if(r-l<l)
	{
		cout<<0<<"\n";
		return;
	}
	ll cn=(n*(n+1))/2;
	// while(true)
	// {
	// 	if(ptr2-ptr1>=ptr1)
	// 	{
	// 		cn+=(ptr2-2*ptr1+1);
	// 		ptr2--;
	// 	}
	// 	else
	// 	{
	// 		break;
	// 	}
	// }
	cout<<cn<<"\n";


 
}
 
 
 
 
int main()
{
    #ifndef ONLINE_JUDGE
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
     #endif
 
 
 
 
    ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);



    
    ll T;
    T=1;
    cin>>T;
    //sievefun(1000004);
    fori(_,T)
    {
        solve();
    }
    
 
 
    
 
}
