#include <fstream>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int n, i, start, maxim, sol1, sol2, s, v[200005], color[200005];
int main(){
fin >> n;
for (i = 1; i <= n; i++)
fin >> v[i] >> color[i];
for (i = 1; i <= n; i++){
if ( color[i] == 0 )
v[i] = 0 - v[i];
}
for (i = n + 1; i <= n * 2; i++){
v[i] = v[i-n];
}
for (i = 1; i <= n * 2; i++){
if ( s + v[i] > v[i] ){
s = s + v[i];
}else{
s = v[i];
start = i;
}
if ( i - start + 1 > n ){
s -= v[start];
start++;
}
if ( s > maxim ){
maxim = s;
sol1 = start;
sol2 = i;
}
}
fout << maxim << " " << sol1 << " " << sol2 - sol1 + 1;
return 0;
}