#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
typedef long long Int;




Int n, a[1080];
Int cnt[2], sum[2];
vector<Int> ans;

void go(int x){
	ans.push_back(x+1);
	if(x == 0){
		for(int i = 0;i < n-1;i++)a[i] = a[i+1];
		n--;
		return;
	}
	if(x == n-1){
		n--;
		return;
	}
	a[x-1] += a[x+1];
	for(int i = x;i < n-2;i++){
		a[i] = a[i+2];
	}
	n-=2;
}
int main(){
	cin >> n;
	for(int i = 0;i < n;i++){
		cin >> a[i];
		cnt[i%2] += a[i] >= 0;
		sum[i%2] += max(a[i], 0LL);
	}
	if(cnt[0] == 0 && cnt[1] == 0){
		int tmp = 0;
		for(int i = 0;i < n;i++){
			if(a[tmp] < a[i])tmp = i;
		}

		cout << a[tmp] << endl;
		cout << n-1 << endl;
		for(int i = n-1;i > tmp;i--)cout << i + 1 << endl;
		for(int i = 0;i < tmp;i++)cout << 1 << endl;
		return 0;
	}
	int maxsum = max(sum[0], sum[1]);
	if(sum[1] > sum[0])go(0);
	while(n>1){
		if(n > 2 && a[0] < 0){
			go(0);
			go(0);
		}
		else if(n > 2 && a[2] < 0){
			go(2);
		}
		else{
			go(1);
		}
	}

	cout << a[0] << endl;
	cout << ans.size() << endl;
	for(int i = 0;i < ans.size();i++)
		cout << ans[i] << endl;
	return 0;
}