倒着推就是了
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
int n, k, p, t, dp[10005];
vector<int> a[10005];//是他,就是他!我们的英雄vector!
int main(){
cin>>n>>k;
for(int i=1; i<=k; i++){
scanf("%d %d", &p, &t);
a[p].push_back(t);
}
for(int i=n; i>=1; i--){
if(a[i].size()){
for(int j=0; j<a[i].size(); j++)
dp[i] = max(dp[i], dp[i+a[i][j]]);
}
else dp[i] = dp[i+1] + 1;
}
cout<<dp[1]<<endl;
return 0;
}