#include<bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include "algo/debug.h"
#else
#define debug(...) 42
#endif
template<class X, class Y>bool maximize(X &x, const Y &y){if(x < y) return x = y, true; return false;}
template<class X, class Y>bool minimize(X &x, const Y &y){if(x > y) return x = y, true; return false;}
#define ll long long
#define fi first
#define se second
#define pb push_back
#define FOR(i, a, b) for(int i = (a), _b = (b); i <= _b; i++)
#define FORD(i, b, a) for(int i = (b), _a = (a); i >= _a; i--)
#define REP(i, n) for(int i = 0, _n = (n); i < _n; i++)
#define C make_pair
#define MASK(i) (1LL << (i))
#define TURN_ON(i, x) ((x) | MASK(i))
#define TURN_OFF(i, x) ((x) & ~MASK(i))
#define CNT(x) (__builtin_popcountll(x))
#define get_bit(i, x) ((x) & MASK(i))
#define REV(i, x) ((x) ^ MASK(i))
const ll mod = 1e9 + 7;
const ll INF = 1e15;
const int maxn = 1e5 + 5;
typedef pair<int, int> pi;
typedef pair<int, pair<int,int>> pii;
typedef pair<ll, ll> pl;
typedef pair<ll, pair<ll,ll>>pll;
const int MAXN = (int)2e5 + 5;
int n, a[MAXN];
ll dp[MAXN][2];
vector<int>ans;
void nhap(){
cin >> n;
FOR(i, 1, n) cin >> a[i];
}
void solve(){
FORD(i, n, 1){
dp[i][0] = max(dp[i + 1][0], dp[i + 1][1]);
dp[i][1] = dp[i + 1][0] + a[i];
}
if(dp[1][1] >= dp[1][0]){
int i = 1, state = 1;
ll sum = dp[1][1];
while(i <= n){
if(state){
ans.pb(i);
state = 0;
sum -= a[i];
}
else{
if(dp[i + 1][1] > dp[i + 1][0]) state = 1;
else if(dp[i + 1][1] == dp[i + 1][0]){
if(sum) state = 1;
}
}
i++;
}
}
else{
int i = 1, state = 0;
ll sum = dp[i][0];
while(i <= n){
if(state){
ans.pb(i);
state = 0;
sum -= a[i];
}
else{
if(dp[i + 1][1] > dp[i + 1][0]) state = 1;
else if(dp[i + 1][1] == dp[i + 1][0]){
if(sum) state = 1;
}
}
i++;
}
}
cout << max(dp[1][1], dp[1][0]) << '\n';
cout << ans.size() << '\n';
for(int v: ans) cout << v << " ";
}
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
nhap();
solve();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojaWZkZWYgTE9DQUwKI2luY2x1ZGUgImFsZ28vZGVidWcuaCIKI2Vsc2UKI2RlZmluZSBkZWJ1ZyguLi4pIDQyCiNlbmRpZgoKdGVtcGxhdGU8Y2xhc3MgWCwgY2xhc3MgWT5ib29sIG1heGltaXplKFggJngsIGNvbnN0IFkgJnkpe2lmKHggPCB5KSByZXR1cm4geCA9IHksIHRydWU7IHJldHVybiBmYWxzZTt9CnRlbXBsYXRlPGNsYXNzIFgsIGNsYXNzIFk+Ym9vbCBtaW5pbWl6ZShYICZ4LCBjb25zdCBZICZ5KXtpZih4ID4geSkgcmV0dXJuIHggPSB5LCB0cnVlOyByZXR1cm4gZmFsc2U7fQoKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBmaSBmaXJzdAojZGVmaW5lIHNlIHNlY29uZAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIEZPUihpLCBhLCBiKSBmb3IoaW50IGkgPSAoYSksIF9iID0gKGIpOyBpIDw9IF9iOyBpKyspCiNkZWZpbmUgRk9SRChpLCBiLCBhKSBmb3IoaW50IGkgPSAoYiksIF9hID0gKGEpOyBpID49IF9hOyBpLS0pCiNkZWZpbmUgUkVQKGksIG4pIGZvcihpbnQgaSA9IDAsIF9uID0gKG4pOyBpIDwgX247IGkrKykKI2RlZmluZSBDIG1ha2VfcGFpcgojZGVmaW5lIE1BU0soaSkgKDFMTCA8PCAoaSkpCiNkZWZpbmUgVFVSTl9PTihpLCB4KSAoKHgpIHwgTUFTSyhpKSkKI2RlZmluZSBUVVJOX09GRihpLCB4KSAoKHgpICYgfk1BU0soaSkpCiNkZWZpbmUgQ05UKHgpIChfX2J1aWx0aW5fcG9wY291bnRsbCh4KSkKI2RlZmluZSBnZXRfYml0KGksIHgpICgoeCkgJiBNQVNLKGkpKQojZGVmaW5lIFJFVihpLCB4KSAoKHgpIF4gTUFTSyhpKSkKCmNvbnN0IGxsIG1vZCA9IDFlOSArIDc7CmNvbnN0IGxsIElORiA9IDFlMTU7CmNvbnN0IGludCBtYXhuID0gMWU1ICsgNTsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBwaTsKdHlwZWRlZiBwYWlyPGludCwgcGFpcjxpbnQsaW50Pj4gcGlpOwp0eXBlZGVmIHBhaXI8bGwsIGxsPiBwbDsKdHlwZWRlZiBwYWlyPGxsLCBwYWlyPGxsLGxsPj5wbGw7Cgpjb25zdCBpbnQgTUFYTiA9IChpbnQpMmU1ICsgNTsKCmludCBuLCBhW01BWE5dOwpsbCBkcFtNQVhOXVsyXTsKdmVjdG9yPGludD5hbnM7Cgp2b2lkIG5oYXAoKXsKICAgIGNpbiA+PiBuOwogICAgRk9SKGksIDEsIG4pIGNpbiA+PiBhW2ldOwp9CnZvaWQgc29sdmUoKXsKICAgIEZPUkQoaSwgbiwgMSl7CiAgICAgICAgZHBbaV1bMF0gPSBtYXgoZHBbaSArIDFdWzBdLCBkcFtpICsgMV1bMV0pOwogICAgICAgIGRwW2ldWzFdID0gZHBbaSArIDFdWzBdICsgYVtpXTsKICAgIH0KICAgIGlmKGRwWzFdWzFdID49IGRwWzFdWzBdKXsKICAgICAgICBpbnQgaSA9IDEsIHN0YXRlID0gMTsKICAgICAgICBsbCBzdW0gPSBkcFsxXVsxXTsKICAgICAgICB3aGlsZShpIDw9IG4pewogICAgICAgICAgICBpZihzdGF0ZSl7CiAgICAgICAgICAgICAgICBhbnMucGIoaSk7CiAgICAgICAgICAgICAgICBzdGF0ZSA9IDA7CiAgICAgICAgICAgICAgICBzdW0gLT0gYVtpXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgaWYoZHBbaSArIDFdWzFdID4gZHBbaSArIDFdWzBdKSBzdGF0ZSA9IDE7CiAgICAgICAgICAgICAgICBlbHNlIGlmKGRwW2kgKyAxXVsxXSA9PSBkcFtpICsgMV1bMF0pewogICAgICAgICAgICAgICAgICAgIGlmKHN1bSkgc3RhdGUgPSAxOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGkrKzsKICAgICAgICB9CiAgICB9CiAgICBlbHNlewogICAgICAgIGludCBpID0gMSwgc3RhdGUgPSAwOwogICAgICAgIGxsIHN1bSA9IGRwW2ldWzBdOwogICAgICAgIHdoaWxlKGkgPD0gbil7CiAgICAgICAgICAgIGlmKHN0YXRlKXsKICAgICAgICAgICAgICAgIGFucy5wYihpKTsKICAgICAgICAgICAgICAgIHN0YXRlID0gMDsKICAgICAgICAgICAgICAgIHN1bSAtPSBhW2ldOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGVsc2V7CiAgICAgICAgICAgICAgICBpZihkcFtpICsgMV1bMV0gPiBkcFtpICsgMV1bMF0pIHN0YXRlID0gMTsKICAgICAgICAgICAgICAgIGVsc2UgaWYoZHBbaSArIDFdWzFdID09IGRwW2kgKyAxXVswXSl7CiAgICAgICAgICAgICAgICAgICAgaWYoc3VtKSBzdGF0ZSA9IDE7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaSsrOwogICAgICAgIH0KICAgIH0KICAgIGNvdXQgPDwgbWF4KGRwWzFdWzFdLCBkcFsxXVswXSkgPDwgJ1xuJzsKICAgIGNvdXQgPDwgYW5zLnNpemUoKSA8PCAnXG4nOwogICAgZm9yKGludCB2OiBhbnMpIGNvdXQgPDwgdiA8PCAiICI7Cn0KaW50IG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7CiAgICBjaW4udGllKDApOyBjb3V0LnRpZSgwKTsKICAgIG5oYXAoKTsKICAgIHNvbHZlKCk7CiAgICByZXR1cm4gMDsKfQo=