#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m;
struct node{
int x,y;
};
int bijiao(int a,int b,int c){
int tot=0;
int cnt=0;
while(c>0){
c-=a;
cnt++;
}
tot+=b*cnt;
return tot;
}
int _2;
node a[100005];
signed main(){
cin>>n>>m;
int nn=n;
cin>>a[1].x>>a[1].y;
while(n>0){
_2+=a[1].y;
n-=a[1].y;
}
n=nn;
for(int i=2;i<=m;i++){
cin>>a[i].x>>a[i].y;
if(bijiao(a[i].x,a[i].y,n)<bijiao(a[i-1].x,a[i-1].y,n)){
int cnt=0;
while(n>0){
n-=a[i].x;
cnt++;
}
_2=a[i].y*cnt;
}
}
cout<<_2;
return 0;
}
60分 调完必关