#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main()
{
int n,m;
cin>>n>>m;
vector<int> a,b; //a存正数,b存负数
for(int i=0;i<n+m+1;i++){
int x;cin>>x;
if(x>=0) a.push_back(x);
else b.push_back(x);
}
sort(a.begin() ,a.end() ,greater<int>());
sort(b.begin() ,b.end() );
ll ans=0;
if(m==0){ //若只有加,则全部相加即可
for(auto i:a) ans+=i;
for(auto i:b) ans+=i;
}
else { //若有减,不论是否有加
if(!b.size()){ //若没有负数,则答案为正数中除最小数外其他数相加减去最小数
//例如:2-(1-3-4-5-6)
ans-=a.back() ;
a.pop_back() ;
for(auto i:a) ans+=i;
}
else if(a.size() ){ //若有正有负,则全部绝对值相加
//例如:1+2-(-1+(-2)+(-3))-(-4)-(-5)
for(auto i:a) ans+=i;
for(auto i:b) ans-=i;
}
else{ //若没正数,则情况与只有正数的相反即可
//例如:(-1)-((-2)+(-3)+(-4))-(-5)-(-6)
ans+=b.back() ;
b.pop_back() ;
for(auto i:b) ans-=i;
}
}
cout<<ans;
return 0;
}