#include<bits/stdc++.h>
using namespace std;
struct gift{
int a, b;
bool operator < (const gift &A) const{
return a < A.a;
}
}g[500005];
int nmax[500005];
set <int> s;
int main() {
ios :: sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int n, t;
cin >> t;
while(t--){
cin >> n;
for(int i = 1;i <= n;i++) cin >> g[i].a >> g[i].b;
sort(g + 1, g + n + 1);
nmax[n + 1] = -1e9;
for(int i = n;i >= 1;i--){
nmax[i] = max(g[i].b, nmax[i + 1]);
}
int ans = 2e9;
s.insert(2e9);
for(int i = 1;i <= n;i++) {
int rmax = nmax[i + 1];
ans = min(ans, abs(g[i].a - rmax));
if(g[i].a > rmax){
auto it = s.lower_bound(g[i].a);
int lmax = abs(g[i].a - max(rmax, *it));
it--;
lmax = min(lmax, abs(g[i].a - max(rmax, *it)));
ans = min(ans, lmax);
}
s.insert(g[i].b);
}
cout << ans << "\n";
s.clear();
}
return 0;
}