#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll N = 1005, inf = 1e18;

ll n, a[N], dt[N] = {-inf}, trk[N], ans;

bool chk[N];

vector<ll> o, st;

int main()
{
	scanf("%lld",&n);
	for(ll i=1;i<=n;i++) {
		scanf("%lld",&a[i]);
	}
	for(ll i=1;i<=n;i++) {
		dt[i] = a[i];
		for(ll j=2;j<i;j+=2) {
			if(dt[i] < dt[i-j] + a[i]) {
				dt[i] = dt[i-j] + a[i];
				trk[i] = i-j;
			}
		}
		if(dt[i] > dt[ans]) ans = i;
	}
	for(ll i=ans;i;i=trk[i]) {
		chk[i] = true;
		st.push_back(i-trk[i]);
	}
	st.pop_back();
	for(ll i=n;!chk[i];i--) o.push_back(i);
	for(ll i=1;!chk[i];i++) o.push_back(1);
	while(!st.empty()) {
		ll T = st.back(); st.pop_back();
		for(ll i=1;i<=T/2-1;i++) o.push_back(3);
		o.push_back(2);
	}
	printf("%lld\n%d\n",dt[ans],(int)o.size());
	for(auto &T : o) printf("%lld\n",T);
}
