#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
struct P{
ll time;
ll value;
float rv;
}cao[10100];
ll t, m;
long long sum;
bool cmp(P& a, P& b) {
if (a.rv == b.rv)return a.time < b.time;
return a.rv > b.rv;
}
int main() {
cin >> t >> m;
for (int i = 1; i <= m; i++) {
cin >> cao[i].time >> cao[i].value;
cao[i].rv = cao[i].value*1.0 / cao[i].time;
}
sort(cao + 1, cao + 1 + m, cmp);
for (int i = 1; i <= m; i++) {
if (t >= cao[i].time) {
while (t >= cao[i].time&&t) {
t -= cao[i].time;
if (t < 0) {
t += cao[i].time;
break;
}
sum += cao[i].value;
}
}
}
cout << sum;
return 0;
}