#include<bits/stdc++.h>
using namespace std;
int t,a[5005],b[5005],qzha[5005],qzhb[5005],n;
bool vis[5005];
inline bool check(int qwq){
int sum[3]={0,0,0},tmpa=1,tmpb=1;
for(int i=1;i<=n;i++){
while(qzha[i]-sum[1]-1>qwq&&tmpa<i){
while(tmpa<i&&(vis[tmpa]||qzha[tmpa]<=sum[1])){
tmpa++;
}
if(vis[tmpa]||qzha[tmpa]<=sum[1]){
break;
}
sum[1]++;
vis[tmpa]=1;
tmpa++;
}
while(qzhb[i]-sum[2]-1>qwq&&tmpb<i){
while(tmpb<i&&(vis[tmpb]||qzhb[tmpb]<=sum[2])){
tmpb++;
}
if(vis[tmpb]||qzhb[tmpb]<=sum[2]){
break;
}
sum[2]++;
vis[tmpb]=1;
tmpb++;
}
if(qzha[i]-sum[1]-1>qwq||qzhb[i]-sum[2]-1>qwq){
return 0;
}
}
return 1;
}
signed main(){
ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
cin>>t;
while(t--){
int l=0,r=100005,ans=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i];
qzha[i]=qzha[i-1]+a[i];
qzhb[i]=qzhb[i-1]+b[i];
}
while(l<=r){
for(int i=0;i<=5000;i++){
vis[i]=0;
}
int mid=(l+r>>1);
if(check(mid)){
r=mid-1;
ans=mid;
}
else{
l=mid+1;
ans=mid+1;
}
}
cout<<ans<<'\n';
}
return 0;
}