#include <bits/stdc++.h>
#define forn(i,n) for(int i = 0; i < int(n); i++)
#define forsn(i,s,n) for(int i = int(s); i < int(n); i++)
#define forit(i, str) for(auto i = str.begin(); i != str.end(); i++)
#define DBG(x) cerr << #x << " = " << (x) << endl
#define all(v) (v).begin(),(v).end()
#define FastIO ios_base::sync_with_stdio(false); cin.tie(NULL)
#define ll long long 
#define ii pair<int,int>
#define vi vector<int>
#define F first
#define S second
#define pb push_back
#define mp make_pair
using namespace std;

ll abso(ll a){return (a>0)?a:-a;}

void solve(){
    int n; cin>>n;
    ll c[n],a[n],b[n];
    forn(i, n) cin>>c[i];
    forn(i, n) cin>>a[i];
    forn(i, n) cin>>b[i];
    
    ll ans = 0; //optimal answer
    ll len = 0; //current len
    forsn(i,1, n){
        ll cl = c[i] + abso(a[i] - b[i]) + 1LL; //take the cicle of the current chain and the prev chain
        if(a[i] != b[i]){ //if the cicle is not ended 
            cl = max(cl, c[i] - abso(a[i] - b[i]) + 1LL + len); //take max bet prev len + current chain or the actual cicle
        }
        ans = max(cl, ans); //in cl is the actual max cicle but compare with previos max cicles
        len = cl; //update current len
    }
    cout<<ans<<endl;
} 

int main(){
	FastIO;
	int t; cin>>t;
	while(t--){
		solve();
	}
}