#include<stdio.h>
int n,i,j,smax=-32000,p,v[200001],s,max1,max2,min=32000,x,y,max3,max4,x2,y2,min1,min2,min3,min4,smin;
int main(){
FILE*f=fopen("buline.in","r");
FILE*g=fopen("buline.out","w");
fscanf(f,"%d",&n);
for(i=1;i<=n;i++){
fscanf(f,"%d %d",&x,&y);
if(y==1)
v[i]=x;
else
v[i]=-x;
p+=v[i];
}
s=0; max1=1;
for(i=1;i<=n;i++)
{ if(s+v[i]>v[i])
{ s=s+v[i];max2=i;}
else
{s=v[i]; max2=i; max1=i;}
if(smax<s)
{smax=s; max3=max1; max4=max2;}
else
if(smax==s)
if(max2-max1<max4-max3)
{max3=max1; max4=max2;}
}
//fprintf(g,"%d %d %d",smax,max3,max4);
for(i=1;i<=n;i++)
{ if(s+v[i]<v[i])
{ s=s+v[i];min2=i;}
else
{s=v[i]; min2=i; min1=i;}
if(smin>s)
{smin=s; min3=min1; min4=min2;}
else
if(smin==s)
if(min2-min1>min4-min3)
{min3=min1; min4=min2;}
}
//fprintf(g,"%d %d %d",smin,min3,min4);
p-=smin;
if(p>smax)
fprintf(g,"%d %d %d",p,min3+1,min4+min3-2);
else
fprintf(g,"%d %d %d",smax,max3,max4+max3);
fclose(f);
fclose(g);
return 0;
}