#include<bits/stdc++.h>
#define int long long
using namespace std;
int inf=1e18;
int a[900005],b[900005],c[900005];
int l[900005],r[900005];
int n;
int solve(){
vector<int>tb,tc;
for(int i=1;i<=n;i++)tb.push_back(b[i]);
for(int i=1;i<=n;i++)tc.push_back(c[i]);
sort(tb.begin(),tb.end());
sort(tc.begin(),tc.end());
int ans=inf;
for(int i=n;i<=2*n;i++){
int st=i-n+1;
vector<int>temp1;
vector<int>temp2;
for(int j=st;j<=i;j++)temp1.push_back(a[j]);
for(int j=i+1;j<=i+n;j++)temp2.push_back(a[j]);
sort(temp1.begin(),temp1.end());
sort(temp2.begin(),temp2.end());
int tans=0;
for(int j=0;j<temp1.size();j++)tans=max(tans,abs(temp1[j]-tb[j]));
for(int j=0;j<temp2.size();j++)tans=max(tans,abs(temp2[j]-tc[j]));
/*cerr<<"i:"<<i<<"\n";
for(auto x:temp1)cerr<<x<<" ";
cerr<<"\n";
for(auto x:temp2)cerr<<x<<" ";
cerr<<"\n";*/
ans=min(ans,tans);
}
return ans;
}
int32_t main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>n;
for(int i=1;i<=2*n;i++)cin>>a[i];
for(int i=1;i<=n;i++)cin>>b[i];
for(int i=1;i<=n;i++)cin>>c[i];
for(int i=2*n+1;i<=3*n;i++)a[i]=a[i-2*n];
int ans=inf;
ans=min(ans,solve());
swap(b,c);
//cerr<<"\n";
ans=min(ans,solve());
cout<<ans;
}