#include <stdio.h>
int a[400201],n,i,s,smax,nr,t1,t[400201],x,poz,nrm,s1,s2,l1,l2,s3,l,p;
int max(int a, int b)
{
if (a>b) return a;
return b;
}
int main()
{
freopen("buline.in","r",stdin);
scanf("%d",&n);
for (i=1;i<=n;++i)
{
scanf("%d %d",&x,&t1);
if (t1==0)
a[i]=-x;
else
a[i]=x;
s+=a[i];
}
for(i=1;i<=n;++i){
s1+=a[i];
l1++;
if(s1<a[i])
s1=a[i],l1=1;
s2-=a[i];
l2++;
if(s2<-a[i])
s2=-a[i],l2=1;
if(s1>smax)
smax=s1,
p=i-l1+1,
l=l1;
if(s+s2>smax)
smax=s+s2,
p=i+1,
l=n-l2;
}
freopen("buline.out","w",stdout);
printf("%ld %ld %ld",smax,p,l);
return 0;
}