wa了
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define INF 2e15
struct p{
bool f;
ll l;
ll r;
ll t;
}a[500009];
ll m,n,minl,minr,maxl,maxr;
bool cmp(p &a,p &b){
return a.t<b.t;
}
int main(){
ios::sync_with_stdio(false);
cin>>n>>m;
for(ll i=1;i<=n;a[i].f=1,i++) cin>>a[i].t;
for(ll i=n+1;i<=n+m;i++) cin>>a[i].t;
sort(a+1,a+n+m,cmp);
ll tmp=0;
for(ll i=1;i<=n+m;i++){
if(a[i].f&&tmp) a[i].l=a[i].t-a[tmp].t;
else if(!a[i].f) tmp=i;
}
tmp=n+m+1;
for(ll i=n+m;i>=1;i--){
if(a[i].f&&tmp!=n+m+1) a[i].r=a[tmp].t-a[i].t;
else if(!a[i].f) tmp=i;
}
for(ll i=1;i<=n+m;i++){
if(!a[i].f) continue;
if(a[i].l) maxl=max(maxl,a[i].l);
if(a[i].r) maxr=max(maxr,a[i].r);
if(!a[i].r) minl=max(minl,a[i].l);
if(!a[i].l) minr=max(minr,a[i].r);
}
//cout<<minl<<endl<<minr<<endl<<maxl<<endl<<maxr<<endl;
cout<<min(minl*2+maxr,minr*2+maxl);
return 0;
}