#include<iostream>
using namespace std;
int n,m;
#define mhd(a,b,c,d) abs(a-b)+abs(c-d)
struct zuoti{
int tim;
int x,y;
}zt[10005];
int dp[10005][2];
int main(){
cin >> n >> m;
zt[0].tim=-2147483648;
for(int i=1;i<=m;i++){
cin >> zt[i].tim >> zt[i].x >> zt[i].y;
}
for(int i=1;i<=m;i++){
for(int j=0;j<i;j++){
if(mhd(zt[i].x,zt[j].x,zt[i].y,zt[j].y)<=zt[j].tim-zt[i].tim){
dp[i][1]=max(dp[i][1],dp[j][1]+1);
}
}
dp[i][0]=max(dp[i-1][0],dp[i-1][1]);
}
cout << max(dp[m][0],dp[m][1]);
return 0;
}
`