#include<bits/stdc++.h>
using namespace std;
int n,m,maxx = -1;
struct thing{
int number1_5;
int monney;
int mark;
}a[26];
int how(int x,int y){
int s = 0;
for(int i = x;i<=y;i++){
s+=a[i].mark;
}
return s;
}
int main(){
cin.tie(0)->sync_with_stdio(0);
cin>>n>>m;
for(int i = 1;i<=m;i++){
cin>>a[i].number1_5>>a[i].monney;
a[i].mark = a[i].number1_5*a[i].monney;
}
for (int i = 0;i < n-1;i++){
for (int j = 0;j < n-i-1;j++){
if (a[j].mark < a[j+1].mark){
swap(a[j].mark,a[j+1].mark);
}
}
}
int sum;
for(int i = 1;i<=m;i++){
sum = 0;
for(int j = i;j<=m;j++){
sum+=a[i+j].monney;
if(sum<n) maxx = max(maxx,how(i,j));
if(sum == n) cout<<how(i,j)<<'\n';return 0;
if(sum>n) break;
}
}
cout<<maxx<<'\n';
return 0;
}