#include <bits/stdc++.h>
using namespace std;

#define INF_LL (int64)1e18
#define INF (int32)1e9
#define REP(i, n) for(int64 i = 0;i < (n);i++)
#define FOR(i, a, b) for(int64 i = (a);i < (b);i++)
#define all(x) x.begin(),x.end()
#define fs first
#define sc second

using int32 = int_fast32_t;
using uint32 = uint_fast32_t;
using int64 = int_fast64_t;
using uint64 = uint_fast64_t;
using PII = pair<int32, int32>;
using PLL = pair<int64, int64>;

const double eps = 1e-10;

template<typename A, typename B>inline void chmin(A &a, B b){if(a > b) a = b;}
template<typename A, typename B>inline void chmax(A &a, B b){if(a < b) a = b;}

template<typename T>
vector<T> make_v(size_t a){return vector<T>(a);}

template<typename T,typename... Ts>
auto make_v(size_t a,Ts... ts){
	return vector<decltype(make_v<T>(ts...))>(a,make_v<T>(ts...));
}

template<typename T,typename U,typename... V>
typename enable_if<is_same<T, U>::value!=0>::type
fill_v(U &u,const V... v){u=U(v...);}

template<typename T,typename U,typename... V>
typename enable_if<is_same<T, U>::value==0>::type
fill_v(U &u,const V... v){
	for(auto &e:u) fill_v<T>(e,v...);
}

int main(void){
	cin.tie(0);
	ios::sync_with_stdio(false);

	int64 N;
	cin >> N;
	auto S = make_v<int64>(2, N);
	REP(k, 2) REP(i, N) cin >> S[k][i];

	priority_queue<int64> pq[2];
	int64 cnt[2] = {};
	int64 res = 0;
	REP(i, N) {
	  res += max(S[0][i], S[1][i]);
	  if (S[0][i] > S[1][i]) {
      cnt[i%2]++;
      pq[i%2].push(S[1][i] - S[0][i]);
	  } else {
	    pq[1 ^ (i % 2)].push(S[0][i] - S[1][i]);
	  }
	}
	while (cnt[0] != cnt[1]) {
	  if (cnt[1] < cnt[0]) {
	    res += pq[0].top(); pq[0].pop();
	    cnt[1]++;
	  } else {
      res += pq[1].top(); pq[1].pop();
      cnt[0]++;
	  }
	}
	cout << res << endl;
}

#include<bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
  ll  N,sum=0;
  cin>>N;
  vector<ll> A(N),B(N);
  for(ll &i:A)cin>>i,sum+=i;
  for(ll &j:B)cin>>j;
  ll M=N/2;
  vector<ll> C(M),D(M);
  for(ll i=0;i<M;i++)C[i]=B[i*2]-A[i*2];
  for(ll i=0;i<M;i++)D[i]=B[i*2+1]-A[i*2+1];
  sort(C.rbegin(),C.rend());
  sort(D.rbegin(),D.rend());
  ll ans=sum;
  for(ll i=0;i<M;i++){
    sum+=C[i]+D[i];
    ans=max(ans,sum);
  }
  cout<<ans<<endl;
}