在一个 n∗n 的二维平面上,在某些时刻的某些点会出现一枚金币,具体的说,有 m 次事件,对于第 i 次事件,给出 timei,xi,yi,表示在 timei 时刻的 xi,yi 位置出现了一枚金币。
注意,在 timei+1 时刻这枚金币会消失。你想要在二维平面移动以收集金币,具体的说,在某一时刻,你和某一枚金币处于同一位置,你将获得这枚金币。
你可以在每一时刻选择移动一格或者停在原地不动,移动一格是指将你的 x 坐标或 y 坐标 ±1 。
你的初始起点可以随意选定。请输出你能收集的最大金币数量。数据保证不会出现同一时刻同一地点存在两枚金币。
输入格式
第一行两个整数 n,m 含义如题面所述。
接下来有 m 行,每行三个整数 timei,xi,yi,含义如题面所述。
输出格式
一行一个整数,表示你能收集到的最大金币数
样例输入
2 2
1 1 1
2 2 2
1
数据范围
对于 10% 的数据 n=1,m≤5000,timei≤1e9,保证timei不降。
对于另外 30% 的数据 n≤100,m≤5000,timei≤50,保证timei不降。
对于另外 60% 的数据 n≤109,m≤5000,timei≤109,保证timei不降。