#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
typedef unsigned long long LL;
LL jans=1e18+10,zrs;
struct sjl{
LL wz,qrs,qzh;
}bnl[N];
int main()
{
LL l,n;
cin>>l>>n;
for(int i=1;i<=n;i++){
int rs;
cin>>bnl[i].wz>>rs;
bnl[i].qrs=bnl[i-1].qrs+rs;
zrs+=rs;
}
LL s=0;
for(int i=1;i<=n;i++){
s+=(bnl[i].qrs-bnl[i-1].qrs)*bnl[i].wz;
}
for(int i=1;i<=n;i++){
int rs=bnl[i].qrs-bnl[i-1].qrs;
int wz=bnl[i].wz-bnl[i-1].wz;
LL t1=bnl[i-1].qrs*wz;
LL t2=rs*wz;
LL t3=(zrs-bnl[i].qrs)*wz;
s=s+t1-t2-t3;
jans=min(jans,s);
}
cout<<jans;
return 0;
}