#include <iostream>
using namespace std;
long int
sigman, sigmam, money[26], prefe[26], f[30001];
void
__read__()
{
cin >> sigmam >> sigman;
for( int i = 1; i <= sigman; i++ )
cin >> money[i] >> prefe[i];
}
void
__dp__()
{
for( int i = 1; i <= sigman; i++ )
for( int j = sigmam; j >= money[i]; j-- )
if( f[j] < f[j - money[i]] + money[i] * prefe[i] )
f[j] = f[j - money[i]] + money[i] * prefe[i];
}
void
__outp__()
{
int max = 0;
for( int i = 1; i <= sigmam; i++ )
if( max < f[i] )
max = f[i];
cout << max << endl;
}
int
main()
{
__read__();
__dp__();
__outp__();
return 0;
}