#include <bits/stdc++.h>
using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int n;
int a[200001];
int dp, dp1;
int curStart, curLen;
int Max = INT_MIN, startMax, lenMax;
int main() {
fin>>n;
for(int i = 1; i <= n; i++){
int x, b;
fin>>x>>b;
if(b)
a[i] = x;
else
a[i] = -x;
}
for(int j = 1; j <= n * 2; j++){
int i;
if(j > n)
i = j - n;
else
i = j;
if(a[i] < a[i] + dp1 && curLen <= n){
dp = a[i] + dp1;
curLen++;
}
else {
dp = a[i];
curStart = i;
curLen = 1;
}
if(Max < dp){
Max = dp;
lenMax = curLen;
startMax = curStart;
}
dp1 = dp;
}
fout<<Max<<" "<<startMax<<" "<<lenMax;
return 0;
}