#include <bits/stdc++.h>
using namespace std;
#define int long long
// #define double long double
// #define endl "\n"
const int MAXN = 1e5 + 7;
// const int MOD = ;
// const int INF = ;
// const double eps = ;
// const double PI = acos(-1);
// const int DIRX[] = {};
// const int DIRY[] = {};

int T;
int n;
int c[MAXN];
int a[MAXN];
int b[MAXN];
// int res[MAXN];
// vector<int> pos;
// int sum1[MAXN];

int32_t main(void)
{
    ios::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    cin >> T;
    while (T--)
    {
        cin >> n;
        for (int i = 1; i <= n; ++i)
            cin >> c[i];
        for (int i = 1; i <= n; ++i)
            cin >> a[i];
        for (int i = 1; i <= n; ++i)
            cin >> b[i];
        int tmp = 0;
        int ans = 0;
        bool flg = false;
        for (int i = 2; i <= n; ++i)
        {
            if (flg == false)
            {
                tmp += abs(a[i] - b[i]);
                tmp += 2;
                flg = true;
            }
            else 
            {
                tmp += abs(1 - min(a[i], b[i])) + abs(c[i - 1] - max(a[i], b[i]));
                if (a[i] == b[i])
                {
                    ans = max(ans, tmp);
                    tmp = 2;
                    continue;
                }
                ans = max(ans, tmp + abs(a[i] - b[i]));
                tmp += 2;
                tmp = max(tmp, abs(a[i] - b[i]) + 2);
            }
        }
        if (flg == true)
        {
            tmp += c[n] - 1;
            ans = max(ans, tmp);
        }
        cout << ans << endl;
    }
    return 0;
}