#include <bits/stdc++.h>
using namespace std;
#define int ll
using ll = long long;
using db = long double;
using pi = pair<int, int>;
using mi = map<int, int>;
#define fi first
#define se second
#define vt vector
#define sz size()
#define mp make_pair
#define eb emplace_back
#define endl '\n'
#define pb push_back
#define all(x) (x).begin(), (x).end()
#define rep(i, l, r) for (int i = l; i <= r; i++)
#define per(i, l, r) for (int i = l; i >= r; i--)
void ok(){cout << "YES" << endl; exit(0);}
void no(){cout << "NO" << endl; exit(0);}
const int mod = 1e9 + 7;
const int INF = 0x3f3f3f3f;
ll qpow(ll a,ll b,ll MOD=mod){for(ll ans=1;;a=a*a%MOD,b>>=1){if(b&1)ans=ans*a%MOD;if(!b)return ans;}}
ll inv(ll a,ll MOD=mod){return qpow(a,MOD-2,MOD);}//Ҫ��MODΪ����
ll exgcd(ll a,ll b,ll &x,ll &y){if(b==0){x=1,y=0;return a;}ll ret=exgcd(b,a%b,y,x);y-=a/b*x;return ret;}
ll getInv(int a,int mod){ll x,y;ll d=exgcd(a,mod,x,y);return d==1?(x%mod+mod)%mod:-1;}//��a��mod�µ���Ԫ����������Ԫ����-1����Ҫ��MODΪ����

using vi = vt<int>;
const int N = 4e5 + 5;
int  M = 1e9 + 7;

inline int add(int x, int y) { return x + y >= M ? x + y - M : x + y; }
inline int mul(int x, int y) { return x * y % M; }
inline int sub(int x, int y) { return x - y < 0 ? x - y + M : x - y; }


using G = vt<vi>;

#define mid (l+r>>1)
#define lc p<<1
#define rc lc|1
#define lson lc,l,mid
#define rson rc,mid+1,r
int dp[101][101];
int even(int x, int y, int nowx, int nowy){
    return (nowx - x + y- nowy + 1)/2;
}
int odd(int x, int y, int nowx, int nowy){
    if(nowx - x + y == nowy){
        return nowx - x;
    }else{
        return (nowx - x + y - nowy)/2;
    }
}
signed main()
{
    ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    int t;
    cin >> t;
    while(t--){
        int n;
        cin >> n;
        vector<pair<int, int>>p(n);
        rep(i, 0, n - 1) cin >> p[i].fi;
        rep(i, 0, n - 1) cin >> p[i].se;
        sort(all(p));
        int ans = 0;
        int x = 1, y = 1;
        for(int i = 0; i < n; i++){
            if((x + y) % 2 == 0){
                ans += odd(x, y, p[i].fi, p[i].se);
            }else{
                ans += even(x, y, p[i].fi, p[i].se);
            }
            x = p[i].fi;
            y = p[i].se;
        }
        cout << ans << endl;
    }
//    dp[1][1] = 0;
////    for(int i = 0; i <= 3; i++) dp[3][i] = LONG_MAX - 1000;
////    dp[3][2] = 0; // ������1��ʼ�� ż����0��ʼ
//    for(int i = 2; i <= 100; i++){
//        for(int j = 1; j <= i; j++){
//            int x = i - 1;
//            int y = j - 1;
//            dp[i][j] = LONG_MAX;
//            if(j < i){
//            if((x + j) % 2 == 0){
//                dp[i][j] = dp[x][j];
//            }else{
//                dp[i][j] = dp[x][j] + 1;
//            }
//            }
//            if(j > 1){
//                if((x + y) % 2 == 0){
//                    dp[i][j] = min(dp[x][y] + 1, dp[i][j]);
//                }else{
//                    dp[i][j] = min(dp[x][y], dp[i][j]);
//                }
//            }
//            cout << dp[i][j] << " \n"[j == i];
//        }
//    }
//    nowx - x + y
}
