#include #include #include using namespace std; typedef long long ll; const int N = 1e3 + 100; struct node { int l, r; }sa[N]; int n; void solve() { int l = -1e9, r = 1e9, st; for (int i = 1; i <= n; i++) { if (r < sa[i].l) { st = r; break; } if (l > sa[i].r) { st = l; break; } l = max(l, sa[i].l); r = min(r, sa[i].r); } ll ans = 0; l = st, r = st; for (int i = 1; i <= n; i++) { if (r < sa[i].l) { int d = sa[i].l - r; int t = d / 2; if (d % 2) t++; ans += t; l = r + t * 2 - 1; r = r + t * 2; l = max(l, sa[i].l); r = min(r, sa[i].r); } else if (l > sa[i].r) { int d = l - sa[i].r; int t = d / 2; if (d % 2) t++; ans += t; r = l - 2 * t + 1; l = l - 2 * t; l = max(l, sa[i].l); r = min(r, sa[i].r); } else { l = max(l, sa[i].l); r = min(r, sa[i].r); } } printf("%lld\n", ans); } int main() { int T; scanf("%d", &T); while (T--) { scanf("%d", &n); for (int i = 1; i <= n; i++) scanf("%d%d", &sa[i].l, &sa[i].r); solve(); } return 0; }