#include <stdio.h>
#include <stdlib.h>
struct tu{int dat1[100];//gao
int dat2[100];//kuan
};
int panduan(struct tu a1,int y1,int x1,int *i);
int main(int argc, char *argv[])
{
int b=0;
int x,y;
struct tu a;
int lenth=0;
int lenth1=0;
int dat1,dat2;
scanf("%d %d",&x,&y);
for(int o=1;o<=y;o++)
{
scanf("%d%d",&a.dat2[o],&a.dat1[o]);}
a.dat1[0]=0;
a.dat2[0]=0;
for(int j=0;j<=y;j++) {
dat1=a.dat1[j];
dat2=a.dat2[j];
a.dat1[j]=0;
a.dat2[j]=0;
if(j==0)
lenth1=panduan(a,y,x,&b);
else
lenth=panduan(a,y,x,&b);if((lenth1>lenth)&&j!=0){lenth1=lenth;}
a.dat1[j]=dat1;
a.dat2[j]=dat2;
if(b>=y){
b=0;
}
}
printf("%d",lenth1);
return 0;
}
int panduan(struct tu a1,int y1,int x1,int *i){
int lenth=0;
int lenth1=0;
int kuan1=0;
int dat;
for(*i;*i<=y1;(*i)++){kuan1+=(a1.dat2[*i]);
if(kuan1<x1){
if(lenth<=a1.dat1[*i])
{lenth=a1.dat1[*i];
}
if(*i==y1)
{
lenth1+=lenth;
}
}else if(kuan1>=x1){if(lenth<=a1.dat1[*i])
{
lenth1+=a1.dat1[*i];
}
else
{
lenth1+=lenth;
}
kuan1=0;
lenth=0;
}
}
return lenth1;
}