#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int N=601;
const int M=2500001;
int a[N],b[N],d[M];
int c[M];
int main()
{
	int i,j,n,m,e,f,g,h,k;
	cin>>m>>n;
	for(i=1;i<=n;i++)
		cin>>b[i]>>a[i];
	k=1;
	d[k]=0;
	for(i=1;i<=n;i++)
	{
		sort(d+1,d+k+1);
		for(j=k;j>=1;j--)
		{
			if(d[j]+a[i]<=m)
			{
				if(c[d[j]+a[i]]==0)
				{
					k++;
					d[k]=d[j]+a[i];
				
				}
				c[d[j]+a[i]]=max(c[d[j]+a[i]],c[d[j]]+b[i]);
			}
		}
	}
	int ans=0;
	for(i=1;i<=m;i++)
		ans=max(ans,c[i]);
	cout<<ans<<endl;
	return 0;
}

	
