#include <climits>
#include <iostream>
#include <vector>
using namespace std;
const int N = 10010;
int dp[N];
int a[N];
int main() {
int n;
while (cin >> n) {
if (!n)break;
dp[0] = 0;
for (int i = 1; i <= n; i++) {
cin >> a[i];
dp[i] = 0;
}
int ans = INT_MIN;
vector<int> st;
int ed;
for (int i = 1; i <= n; i++) {
if (a[i] >= dp[i - 1] + a[i]) {
dp[i] = a[i];
st.push_back(i);
// cout<<i<<endl;
} else {
dp[i] = dp[i - 1] + a[i];
}
if (dp[i] > ans) {
ans = dp[i];
ed = i;
//cout<<ed<<endl;
}
}
if (st.size()) {
int idx;
for (idx = 0; idx < st.size(); idx++) {
if (st[idx] > ed)break;
}
idx--;
//cout<<i<<endl;
//cout<<st[i]<<endl;
cout << ans << ' ' << a[st[idx]] << ' ' << a[ed] << endl;
}
}
return 0;
}