#include<cstdio>
#include<iostream>
#include<algorithm>
#include<bits/stdc++.h>
using namespace std;
int n,k,f[1000001];
struct node{
int p,t;
}a[1000001];
bool cmp(node x,node y){
return x.p<y.p;
}
int main(){
// freopen("produce.in","r",stdin);
// freopen("produce.out","w",stdout);
cin>>n>>k;
for(int i=1;i<=k;i++)
cin>>a[i].p>>a[i].t;
sort(a+1,a+k+1,cmp);
for(int i=n;i>=1;i--){
if(a[k].p!=i)f[i]=f[i+1]+1;
while(a[k].p==i){
f[i]=max(f[i],f[i+a[k].t]);
k--;
}
}
cout<<n-f[1]<<endl;
return 0;
}