#include <bits/stdc++.h>
#define Hoshimachi signed
#define Suisei main
using namespace std;
#define int long long
#define pii pair<int,int>
int h,k,ans=0;
bool cmp(pii a, pii b){
return a.first*b.second<a.second*b.first;
}
vector<pii> v;
void dfs(pii a, pii pl, pii pr, int st, int ed){
int l=st,r=ed,m,kq=-1;
while(l<=r){
m=(l+r)/2;
if(cmp(v[m],a)){
l=m+1;
kq=m;
}
else{
r=m-1;
}
}
int edl=kq;
l=st,r=ed,kq=1e9;
while(l<=r){
m=(l+r)/2;
if(cmp(a,v[m])){
r=m-1;
kq=m;
}
else{
l=m+1;
}
}
int str=kq;
pii al={a.first+pl.first,a.second+pl.second};
pii ar={a.first+pr.first,a.second+pr.second};
if(edl>=st){
dfs(al,pl,a,st,edl);
ans++;
}
if(str<=ed){
dfs(ar,a,pr,str,ed);
ans++;
}
}
Hoshimachi Suisei(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
// freopen(".inp", "r", stdin);
// freopen(".out", "w", stdout);
cin>>h>>k;
for(int i=1; i<=k; i++){
int a,b;
cin>>a>>b;
v.push_back({a,b});
}
sort(v.begin(),v.end(),cmp);
v.erase(unique(v.begin(),v.end()),v.end());
dfs({1,1},{0,1},{1,0},0,v.size()-1);
cout<<ans;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CiNkZWZpbmUgSG9zaGltYWNoaSBzaWduZWQKI2RlZmluZSBTdWlzZWkgbWFpbgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGludCBsb25nIGxvbmcKI2RlZmluZSBwaWkgcGFpcjxpbnQsaW50PgppbnQgaCxrLGFucz0wOwpib29sIGNtcChwaWkgYSwgcGlpIGIpewogICAgcmV0dXJuIGEuZmlyc3QqYi5zZWNvbmQ8YS5zZWNvbmQqYi5maXJzdDsKfQp2ZWN0b3I8cGlpPiB2Owp2b2lkIGRmcyhwaWkgYSwgcGlpIHBsLCBwaWkgcHIsIGludCBzdCwgaW50IGVkKXsKICAgIGludCBsPXN0LHI9ZWQsbSxrcT0tMTsKICAgIHdoaWxlKGw8PXIpewogICAgICAgIG09KGwrcikvMjsKICAgICAgICBpZihjbXAodlttXSxhKSl7CiAgICAgICAgICAgIGw9bSsxOwogICAgICAgICAgICBrcT1tOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICByPW0tMTsKICAgICAgICB9CiAgICB9CiAgICBpbnQgZWRsPWtxOwogICAgbD1zdCxyPWVkLGtxPTFlOTsKICAgIHdoaWxlKGw8PXIpewogICAgICAgIG09KGwrcikvMjsKICAgICAgICBpZihjbXAoYSx2W21dKSl7CiAgICAgICAgICAgIHI9bS0xOwogICAgICAgICAgICBrcT1tOwogICAgICAgIH0KICAgICAgICBlbHNlewogICAgICAgICAgICBsPW0rMTsKICAgICAgICB9CiAgICB9CiAgICBpbnQgc3RyPWtxOwogICAgcGlpIGFsPXthLmZpcnN0K3BsLmZpcnN0LGEuc2Vjb25kK3BsLnNlY29uZH07CiAgICBwaWkgYXI9e2EuZmlyc3QrcHIuZmlyc3QsYS5zZWNvbmQrcHIuc2Vjb25kfTsKICAgIGlmKGVkbD49c3QpewogICAgICAgIGRmcyhhbCxwbCxhLHN0LGVkbCk7CiAgICAgICAgYW5zKys7CiAgICB9CiAgICBpZihzdHI8PWVkKXsKICAgICAgICBkZnMoYXIsYSxwcixzdHIsZWQpOwogICAgICAgIGFucysrOwogICAgfQp9Ckhvc2hpbWFjaGkgU3Vpc2VpKCl7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CiAgICAvLyBmcmVvcGVuKCIuaW5wIiwgInIiLCBzdGRpbik7CiAgICAvLyBmcmVvcGVuKCIub3V0IiwgInciLCBzdGRvdXQpOwogICAgY2luPj5oPj5rOwogICAgZm9yKGludCBpPTE7IGk8PWs7IGkrKyl7CiAgICAgICAgaW50IGEsYjsKICAgICAgICBjaW4+PmE+PmI7CiAgICAgICAgdi5wdXNoX2JhY2soe2EsYn0pOwogICAgfQogICAgc29ydCh2LmJlZ2luKCksdi5lbmQoKSxjbXApOwogICAgdi5lcmFzZSh1bmlxdWUodi5iZWdpbigpLHYuZW5kKCkpLHYuZW5kKCkpOwogICAgZGZzKHsxLDF9LHswLDF9LHsxLDB9LDAsdi5zaXplKCktMSk7CiAgICBjb3V0PDxhbnM7Cn0K