#include<fstream>
#include<deque>
using namespace std;
ifstream cin("buline.in");
ofstream cout("buline.out");
int n,best,start,finish;
int a[400005],v[400005],s;
deque<int> d;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i]>>s;
if(s==0) a[i]=-a[i];
v[i]=a[i]+v[i-1];
}
for(int i=n+1;i<2*n;i++)
v[i]=a[i-n]+v[i-1];
for(int i=2;i<2*n;i++){
while(!d.empty() && v[d.back()]>=v[i-1]) d.pop_back();
d.push_back(i-1);
if(d.front()==i-n-1) d.pop_front();
int x=v[i]-v[d.front()];
if(x>best){
best=x;
start=d.front()+1;
finish=i;
}
}
cout<<best<<' '<<start<<' '<<finish-start+1;
}