#include<bits/stdc++.h>
#define MAXN 1010
using namespace std;
struct Shu{
long long x,y,time;
}shu[MAXN];
long long n,m,dp[MAXN];
int main(){
cin>>n>>m;
for(long long i=0;i<m;i++){
cin>>shu[i].time>>shu[i].x>>shu[i].y;
dp[i]=1;
}
for(long long i=1;i<m;i++){
for(long long j=0;j<i;j++){
if(abs(shu[i].x-shu[j].x)+abs(shu[i].y-shu[j].y)<=shu[i].time-shu[j].time){
dp[i]=max(dp[j]+1,dp[i]);
}
}
}
long long ans=-1;
for(int i = 0; i < m; i++)ans=max(ans,dp[i]);
cout<<ans;
}