#include <bits/stdc++.h>
#define lli int
#define loop(i,x,n) for(lli i=x;i<n;i++)
#define primeloop(i,x,n) for(lli i=x;i*i<=n;i++)
#define loopr(i,x,n) for(lli i=n-1;i>=x;i--)
#define st set<lli>
#define ve vector<lli>
#define um unordered_map<lli,lli>
#define vpl vector<pair<lli,lli>>
#define llu long long unsigned
#define ms multiset<lli>
#define ums unordered_map<string,lli>
#define pb push_back
#define time ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cout.setf(ios::fixed); cout.setf(ios::showpoint);
#define test lli t; cin>>t; while(t--)
#define mod 1000000007
using namespace std;
int main()
{
    time
    test
    {
        lli n;
        cin>>n;
        set<pair<lli,lli>> ele;
        lli r[n];
        loop(i,0,n) cin>>r[i];
        loop(i,0,n)
        {
            lli c;
            cin>>c;
            ele.insert({r[i],c});
        }
        lli ans=0;
        lli currx=1,curry=1,nxtx,nxty;
        for(auto it : ele)
        {
            nxtx=it.first;
            nxty=it.second;
            // cout<<currx<<" "<<curry<<" "<<nxtx<<" "<<nxty<<endl;
            if((nxtx-nxty) == (currx-curry)) ans+=((currx+curry)%2)?0LL:(nxtx-currx);
            else
            {
                lli fothisx = nxtx - currx;
                lli fothisy = nxty - curry;
                lli diff = (fothisx - fothisy)/2;
                ans+=((currx+curry)%2==0)?(diff):(diff+((fothisx - fothisy)%2));
            }
            // cout<<ans<<endl;
            currx=nxtx;
            curry=nxty;
        }
        cout<<ans<<endl;
    }
    return 0;
}