#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
using ull = unsigned long long int;

template <class T>
inline bool chmin(T &a, T b) {
    if (a > b) {
        a = b;
        return true;
    }
    return false;
}

template <class T>
inline bool chmax(T &a, T b) {
    if (a < b) {
        a = b;
        return true;
    }
    return false;
}

int main() {
    int N;
    cin >> N;
    vector<ll> A(N);
    for (auto &a : A) cin >> a, a %= 200;

    int cnt = min(N, 8);
    vector<int> v(200, -1);
    for (int bit = 1; bit < (1 << cnt); bit++) {
        int b = 0;
        for (int i = 0; i < cnt; i++) {
            if (bit & (1 << i)) b += A[i];
        }
        b %= 200;
        if (v[b] == -1)
            v[b] = bit;
        else {
            vector<int> B, C;
            for (int i = 0; i < cnt; i++) {
                if (bit & (1 << i)) B.push_back(i + 1);
                if (v[b] & (1 << i)) C.push_back(i + 1);
            }
            cout << "Yes" << endl;
            cout << B.size() << " ";
            for (auto i : B) cout << i << " ";
            cout << endl << C.size() << " ";
            for (auto i : C) cout << i << " ";
            cout << endl;
            return 0;
        }
    }
    cout << "No" << endl;
}

#include <iostream>
#include <algorithm>
#include <iomanip>
#include <vector>
#include <queue>
#include <set>
#include <map>

#define debug_value(x) cerr << "line" << __LINE__ << ":<" << __func__ << ">:" << #x << "=" << x << endl;
#define debug(x) cerr << "line" << __LINE__ << ":<" << __func__ << ">:" << x << endl;

using namespace std;
typedef long long ll;

int n;
ll a[100005], b[100005];
ll dp[5][100005];

bool ok[5][5];

const ll INF = 1e18;

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout << setprecision(10) << fixed;
    cin >> n;
    for(int i = 0; i < n; i++) cin >> a[i];
    for(int i = 0; i < n; i++) cin >> b[i];
    ll ans = 0;
    for(int i = 0; i < n; i++) ans += a[i];
    priority_queue<ll> que_e, que_o;
    for(int i = 0; i < n; i++){
        if(i%2 == 0){
            que_e.push(b[i]-a[i]);
        }else{
            que_o.push(b[i]-a[i]);
        }
    }
    ll tmp = ans;
    while(!que_e.empty()){
        ll t0 = que_e.top(); que_e.pop();
        ll t1 = que_o.top(); que_o.pop();
        tmp += (t0+t1);
        ans = max(tmp, ans);
    }
    cout << ans << endl;
}