01背包
#include <iostream>
#include <stdio.h>
#include <memory.h>
using namespace std;
const int maxn=105;
int main ()
{
int i,j,T,M,f[10000],t[maxn],v[maxn];
while ( cin>>T>>M )
{
for( i=1 ; i<=M ; i++)
{
cin>>t[i]>>v[i];
}
memset ( f , 0 , sizeof(f) );
for ( i=1; i<=M ;i++ )
for ( j=T ; j>=0 ; j-- )
if(j>=t[i])f[j]=f[j]>?f[j-t[i]]+v[i];
cout<<f[T]<<"\n";
}
return 0;
}