#include <stdio.h>
#include <climits>
using namespace std;
FILE *f,*g;
int WhiteOrBlack(int a,int A)
{
if(!A)return -a;
return a;
}
int st1,st2;
void ConditionOne(int X,int &SumOne,int i)
{
if(SumOne<0){
st1=i,SumOne=X;return;
}
SumOne+=X;
}
void ConditionTwo(int X,int &SumTwo,int i)
{
if(SumTwo<0){
st2=i,SumTwo=X;return;
}
SumTwo+=X;
}
void SolveProblemNigga()
{
int SumOne=-1,SumTwo=-1,Stot=0,BestSumOne=-INT_MAX,X,Y,drmax;
int drmin,N,i,BestSumTwo=-INT_MAX;
int stmax,stmin;
fscanf(f,"%d",&N);
for(i=1;i<=N;i++)
{
fscanf(f,"%d %d",&X,&Y);
X=WhiteOrBlack(X,Y);Stot+=X;
ConditionOne(X,SumOne,i);
ConditionTwo(-X,SumTwo,i);
if(BestSumOne<SumOne)BestSumOne=SumOne,drmax=i,stmax=st1;
if(BestSumTwo<SumTwo)BestSumTwo=SumTwo,drmin=i,stmin=st2;
}
if(Stot-(-1)*(BestSumTwo)>BestSumOne)
BestSumOne=Stot-(-1)*(BestSumTwo),stmax=drmin+1,drmax=N+stmin-1;
fprintf(g,"%d ",BestSumOne);
fprintf(g,"%d %d",stmax,drmax-stmax+1);
}
int main()
{
f=fopen("buline.in","r");g=fopen("buline.out","w");
SolveProblemNigga();
fclose(f);
fclose(g);
return 0;
}