#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LOG(FMT...) fprintf(stderr, FMT) using namespace std; typedef long long ll; typedef unsigned long long ull; // mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const int N = 1010; int n, m; int a[N], b[N]; int iabs(int x) { return x < 0 ? -x : x; } void solve() { int cl, cr; scanf("%d%d%d", &n, &cl, &cr); m = 0; for (int i = 2; i <= n; ++i) { int l, r; scanf("%d%d", &l, &r); if (max(cl, l) > min(cr, r)) { ++m; a[m] = cl; b[m] = cr; cl = l; cr = r; } else { cl = max(cl, l); cr = min(cr, r); } } ++m; a[m] = cl; b[m] = cr; int ans = 0; if (m > 1) { int x; if (a[1] < a[2]) x = b[1]; else x = a[1]; for (int i = 2; i < m; ++i) { if (a[i] == b[i]) { ans += (iabs(a[i] - x) + 1) / 2; x = a[i]; } else if (x < a[i]) { int v = (a[i] - x + 1) / 2; ans += v; if (a[i] < a[i + 1]) { x += v * 2; } else { x = a[i]; } } else { int v = (x - b[i] + 1) / 2; ans += v; if (a[i] < a[i + 1]) { x = b[i]; } else x -= v * 2; } } if (x < a[m]) ans += (a[m] - x + 1) / 2; else ans += (x - b[m] + 1) / 2; } printf("%d\n", ans); } int main() { int t; scanf("%d", &t); while (t--) solve(); return 0; }