#include <stdio.h>
#include <iostream>
#include <queue>
#include <vector>
#include <algorithm>
#include <map>
#include <set>
#include <deque>
#include <stdio.h>
#include <string.h>
#include <math.h>
using namespace std;
const int MOD = 1000000007;
int res = 0;
int N, M;
int XX[100000];
int LL[100000];
int HH[100000];
void run()
{
double length_fly = N;
for(int i = 0; i < M; ++i) {
scanf("%d%d%d", XX + i, LL + i, HH + i);
}
if(M == 0) {
printf("0\n");
return;
}
double xielv_l = -999999999999.0;
double xielv_h = 999999999999.0;
int l_idx = 0;
int h_idx = 0;
double cur_x = 0;
double cur_y = 0;
for(int i = 0; i < M; ++i) {
double can_l = cur_y + xielv_l * (XX[i] - cur_x);
double can_h = cur_y + xielv_h * (XX[i] - cur_x);
if(can_l > LL[i]) {
double tmp_x = (XX[l_idx] - cur_x);
double tmp_y = (LL[l_idx] - cur_y);
tmp_x *= tmp_x;
tmp_y *= tmp_y;
length_fly -= sqrt(tmp_x + tmp_y);
cur_x = XX[l_idx];
cur_y = LL[l_idx];
if(length_fly < 0) {
printf("%d\n", i);
return;
}
i = l_idx;
h_idx = l_idx;
xielv_l = -999999999999.0;
xielv_h = 999999999999.0;
} else if(can_h < HH[i]) {
double tmp_x = (XX[h_idx] - cur_x);
double tmp_y = (HH[h_idx] - cur_y);
tmp_x *= tmp_x;
tmp_y *= tmp_y;
length_fly -= sqrt(tmp_x + tmp_y);
cur_x = XX[l_idx];
cur_y = HH[l_idx];
if(length_fly < 0) {
printf("%d\n", i);
return;
}
i = h_idx;
l_idx = h_idx;
xielv_l = -999999999999.0;
xielv_h = 999999999999.0;
}
if(can_l < LL[i]) {
double tmp_x = (XX[i] - cur_x);
double tmp_y = (LL[i] - cur_y);
tmp_x *= tmp_x;
tmp_y *= tmp_y;
if(length_fly <= sqrt(tmp_x + tmp_y)) {
printf("%d\n", i);
return;
}
l_idx = i;
xielv_l = (LL[i] - cur_y) / (XX[i] - cur_x);
}
if(can_h > HH[i]) {
double tmp_x = (XX[i] - cur_x);
double tmp_y = (HH[i] - cur_y);
tmp_x *= tmp_x;
tmp_y *= tmp_y;
if(length_fly <= sqrt(tmp_x + tmp_y)) {
printf("%d\n", i);
return;
}
h_idx = i;
xielv_h = (HH[i] - cur_y) / (XX[i] - cur_x);
}
}
printf("%d\n", M);
return;
}
int main()
{
while(~scanf("%d%d", &N, &M)) {
run();
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHF1ZXVlPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c2V0PgojaW5jbHVkZSA8ZGVxdWU+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1PRCA9IDEwMDAwMDAwMDc7CgppbnQgcmVzID0gMDsKaW50IE4sIE07CmludCBYWFsxMDAwMDBdOwppbnQgTExbMTAwMDAwXTsKaW50IEhIWzEwMDAwMF07Cgp2b2lkIHJ1bigpCnsKICAgIGRvdWJsZSBsZW5ndGhfZmx5ID0gTjsKICAgIGZvcihpbnQgaSA9IDA7IGkgPCBNOyArK2kpIHsKICAgICAgICBzY2FuZigiJWQlZCVkIiwgWFggKyBpLCBMTCArIGksIEhIICsgaSk7CiAgICB9CiAgICBpZihNID09IDApIHsKICAgICAgICBwcmludGYoIjBcbiIpOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIGRvdWJsZSB4aWVsdl9sID0gLTk5OTk5OTk5OTk5OS4wOwogICAgZG91YmxlIHhpZWx2X2ggPSA5OTk5OTk5OTk5OTkuMDsKICAgIGludCBsX2lkeCA9IDA7CiAgICBpbnQgaF9pZHggPSAwOwogICAgZG91YmxlIGN1cl94ID0gMDsKICAgIGRvdWJsZSBjdXJfeSA9IDA7CgogICAgZm9yKGludCBpID0gMDsgaSA8IE07ICsraSkgewogICAgICAgIGRvdWJsZSBjYW5fbCA9IGN1cl95ICsgeGllbHZfbCAqIChYWFtpXSAtIGN1cl94KTsKICAgICAgICBkb3VibGUgY2FuX2ggPSBjdXJfeSArIHhpZWx2X2ggKiAoWFhbaV0gLSBjdXJfeCk7CiAgICAgICAgaWYoY2FuX2wgPiBMTFtpXSkgewogICAgICAgICAgICBkb3VibGUgdG1wX3ggPSAoWFhbbF9pZHhdIC0gY3VyX3gpOwogICAgICAgICAgICBkb3VibGUgdG1wX3kgPSAoTExbbF9pZHhdIC0gY3VyX3kpOwogICAgICAgICAgICB0bXBfeCAqPSB0bXBfeDsKICAgICAgICAgICAgdG1wX3kgKj0gdG1wX3k7CiAgICAgICAgICAgIGxlbmd0aF9mbHkgLT0gc3FydCh0bXBfeCArIHRtcF95KTsKICAgICAgICAgICAgY3VyX3ggPSBYWFtsX2lkeF07CiAgICAgICAgICAgIGN1cl95ID0gTExbbF9pZHhdOwogICAgICAgICAgICBpZihsZW5ndGhfZmx5IDwgMCkgewogICAgICAgICAgICAgICAgcHJpbnRmKCIlZFxuIiwgaSk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaSA9IGxfaWR4OwogICAgICAgICAgICBoX2lkeCA9IGxfaWR4OwogICAgICAgICAgICB4aWVsdl9sID0gLTk5OTk5OTk5OTk5OS4wOwogICAgICAgICAgICB4aWVsdl9oID0gOTk5OTk5OTk5OTk5LjA7CiAgICAgICAgfSBlbHNlIGlmKGNhbl9oIDwgSEhbaV0pIHsKICAgICAgICAgICAgZG91YmxlIHRtcF94ID0gKFhYW2hfaWR4XSAtIGN1cl94KTsKICAgICAgICAgICAgZG91YmxlIHRtcF95ID0gKEhIW2hfaWR4XSAtIGN1cl95KTsKICAgICAgICAgICAgdG1wX3ggKj0gdG1wX3g7CiAgICAgICAgICAgIHRtcF95ICo9IHRtcF95OwogICAgICAgICAgICBsZW5ndGhfZmx5IC09IHNxcnQodG1wX3ggKyB0bXBfeSk7CiAgICAgICAgICAgIGN1cl94ID0gWFhbbF9pZHhdOwogICAgICAgICAgICBjdXJfeSA9IEhIW2xfaWR4XTsKICAgICAgICAgICAgaWYobGVuZ3RoX2ZseSA8IDApIHsKICAgICAgICAgICAgICAgIHByaW50ZigiJWRcbiIsIGkpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGkgPSBoX2lkeDsKICAgICAgICAgICAgbF9pZHggPSBoX2lkeDsKICAgICAgICAgICAgeGllbHZfbCA9IC05OTk5OTk5OTk5OTkuMDsKICAgICAgICAgICAgeGllbHZfaCA9IDk5OTk5OTk5OTk5OS4wOwogICAgICAgIH0KICAgICAgICBpZihjYW5fbCA8IExMW2ldKSB7CiAgICAgICAgICAgIGRvdWJsZSB0bXBfeCA9IChYWFtpXSAtIGN1cl94KTsKICAgICAgICAgICAgZG91YmxlIHRtcF95ID0gKExMW2ldIC0gY3VyX3kpOwogICAgICAgICAgICB0bXBfeCAqPSB0bXBfeDsKICAgICAgICAgICAgdG1wX3kgKj0gdG1wX3k7CiAgICAgICAgICAgIGlmKGxlbmd0aF9mbHkgPD0gc3FydCh0bXBfeCArIHRtcF95KSkgewogICAgICAgICAgICAgICAgcHJpbnRmKCIlZFxuIiwgaSk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgbF9pZHggPSBpOwogICAgICAgICAgICB4aWVsdl9sID0gKExMW2ldIC0gY3VyX3kpIC8gKFhYW2ldIC0gY3VyX3gpOwogICAgICAgIH0KICAgICAgICBpZihjYW5faCA+IEhIW2ldKSB7CiAgICAgICAgICAgIGRvdWJsZSB0bXBfeCA9IChYWFtpXSAtIGN1cl94KTsKICAgICAgICAgICAgZG91YmxlIHRtcF95ID0gKEhIW2ldIC0gY3VyX3kpOwogICAgICAgICAgICB0bXBfeCAqPSB0bXBfeDsKICAgICAgICAgICAgdG1wX3kgKj0gdG1wX3k7CiAgICAgICAgICAgIGlmKGxlbmd0aF9mbHkgPD0gc3FydCh0bXBfeCArIHRtcF95KSkgewogICAgICAgICAgICAgICAgcHJpbnRmKCIlZFxuIiwgaSk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaF9pZHggPSBpOwogICAgICAgICAgICB4aWVsdl9oID0gKEhIW2ldIC0gY3VyX3kpIC8gKFhYW2ldIC0gY3VyX3gpOwogICAgICAgIH0KICAgIH0KICAgIHByaW50ZigiJWRcbiIsIE0pOwogICAgcmV0dXJuOwp9CgppbnQgbWFpbigpCnsKICAgIHdoaWxlKH5zY2FuZigiJWQlZCIsICZOLCAmTSkpIHsKICAgICAgICBydW4oKTsKICAgIH0KICAgIHJldHVybiAwOwp9