#include using namespace std; #define INF 0x3f3f3f3f #define N 6000 int t,n,a[N],b[N],m,c[N],f[N]; int main(){ scanf("%d",&t); while (t--){ scanf("%d",&n); m=0; for (int i=1;i<=n;++i){ scanf("%d%d",a+i,b+i); c[++m]=a[i]; c[++m]=a[i]+1; c[++m]=b[i]; c[++m]=b[i]-1; } sort(c+1,c+m+1); memset(f,0,sizeof f); for (int i=1;i<=n;++i){ for (int j=1;j<=m;++j) if (c[j]b[i]) f[j]=INF; int f1=INF,f2=INF; for (int j=1;j<=m;++j){ if (c[j]&1) f1=min(f1,f[j]-c[j]/2); else f2=min(f2,f[j]-c[j]/2); if (c[j]&1){ f[j]=min(f[j],min(f1+c[j]/2,f2+c[j]/2+1)); } else{ f[j]=min(f[j],min(f1+c[j]/2,f2+c[j]/2)); } } f1=INF,f2=INF; for (int j=m;j;--j){ if (c[j]&1) f1=min(f1,f[j]+c[j]/2); else f2=min(f2,f[j]+c[j]/2); if (c[j]&1){ f[j]=min(f[j],min(f1-c[j]/2,f2-c[j]/2)); } else{ f[j]=min(f[j],min(f1-c[j]/2+1,f2-c[j]/2)); } } } int ans=INF; for (int i=1;i<=m;++i) ans=min(ans,f[i]); printf("%d\n",ans); } return 0; }