#include <bits/stdc++.h>
#define int long long
using namespace std;
#define F first
#define S second
#define pb push_back
#define ins insert
#define pf push_front
#define lb lower_bound
#define ub upper_bound
#define yes cout << "YES" << endl
#define no cout << "NO" << endl
#define srt(p) sort(p.begin() , p.end())
#define rvr(p) reverse(p.begin() , p.end())
#define all(p) p.begin() , p.end()
const int INF = 1e6 , MOD = 1e9 + 7;
bool is_prime(int n) {
if(n == 1 or n == 0) return false;
if(n == 2) return true;
if(n % 2 == 0) return false;
for(int i = 3; i <= sqrt(n); i+=2) {
if(n % i == 0) return false;
}
return true;
}
struct Edge {
int u , v , w;
};
int digsum(int n) {
int cem = 0;
while(n > 0) {
cem += n % 10;
n /= 10;
}
return cem;
}
void solve() {
int n;
cin >> n;
vector<pair<int , int>> vt(n);
for (int i = 0; i < n; ++ i) {
cin >> vt[i].first >> vt[i].second;
}
sort(vt.begin() , vt.end());
int ans = 0;
for(int i = 0; i < n; ++ i) {
int cem = 0;
for(int j = i; j < n; ++ j) {
cem += vt[j].second;
ans = max(ans , cem - (vt[j].first - vt[i].first));
}
}
cout << ans << endl;
}
signed main() {
// freopen("input.txt","r",stdin);
// freopen("output.txt","w",stdout);
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
cin >> t;
while (t--) {
solve();
}
}