#include <bits/stdc++.h>
using namespace std;
int n;
int a[105];
int sum[105];
int d[105][105];
int dp(int i, int j) {
  int x = INT_MIN;
  if (i < 0) return x;
  if (i >= n) return x;
  if (j < 0) return x;
  if (j >= n) return x;
  if (i == j) return x;
  if (i > j) return x;
  if (d[i][j] != -1) return d[i][j];
  int ret = INT_MIN;
  if (a[i] == a[j]) {
    int ans = 0;
    for (int k = i + 1; k < j; k++) {
      if (a[k] >= 0) ans += a[k];
    }
    ret = max(ret, ans + a[i] * 2);
  }
  ret = max(ret, max(dp(i + 1, j), dp(i, j - 1)));
  d[i][j] = ret;
  return ret;
}
int main() {
  cin >> n;
  int a[n];
  for (int i = 0; i < n; i++) cin >> a[i];
  sum[0] = a[0];
  for (int i = 1; i < n; i++) sum[i] = a[i] + sum[i - 1];
  long long ans = INT_MIN;
  int x, y;
  for (int i = 0; i < n; i++) {
    for (int j = i + 1; j < n; j++) {
      if (a[i] == a[j]) {
        long long b = 0;
        for (int k = i + 1; k < j; k++) {
          if (a[k] >= 0) {
            b += a[k];
          }
        }
        ans = max(ans, b + a[i] * 2);
        if (ans == b + a[i] * 2) {
          x = i;
          y = j;
        }
      }
    }
  }
  cout << ans << " ";
  vector<int> t;
  for (int k = 0; k < n; k++) {
    if (k > x and k < y) {
      if (a[k] < 0) t.push_back(k);
    } else if (k < x || k > y) {
      t.push_back(k);
    }
  }
  cout << t.size() << endl;
  for (int i = 0; i < t.size(); i++) {
    cout << t[i] + 1 << " ";
  }
  return 0;
}
