În timpul sesiunii toţi studenţii ar face orice mai puţin să înveţe, iar prietena noastră Anca nu face excepţie. Deşi nu este studentă la informatică, ea a descoperit că are o pasiune (trecătoare) pentru algoritmică. Astfel a dat de următoarea problemă pe site-ul . campion.
Dându-se N puncte în plan şi o valoare întreagă D, să se găsească o dreaptă paralelă cu una dintre cele două axe ale planului (Ox sau Oy) sau cu una dintre cele două bisectoare/diagonale, astfel încât numărul de puncte aflate la o distanţă mai mică sau egală decât D faţă de dreaptă să fie maxim.
Cum probabil aţi bănuit deja, Anca nu reuşeşte să-i dea de cap problemei, iar voi trebuie să-i săriţi în ajutor şi veţi primi în schimb cele 100 de puncte plus un pupic inofensiv ca bonus din partea ei.
Cerinţă
Calculaţi numărul maxim de puncte ce se află la o distanţă mai mică sau egală decât D faţă de o dreaptă imaginară cu restricţiile de mai sus.
Date de intrare
Fişierul de intrare dreapta.in conţine pe prima linie numerele naturale N şi D separate printr-un singur spaţiu. Pe următoarele N linii se află câte două numere întregi separate printr-un singur spaţiu, reprezentând coordonatele celor N puncte.
Date de ieşire
Fişierul de ieşire dreapta.out conţine o singura linie pe care va fi scris răspunsul căutat.
Restricţii
1 <= N <= 100 000
1 <= D <= 100 000 000
Coordonatele punctelor nu depăşesc în modul valoarea 100 000 000
Pentru 20% din teste N <= 100
Pentru alte 30% din teste N <= 2 000
Exemple
dreapta.in
dreapta.out
Explicaţie
5 1
0 1
3 2
0 6
0 -4
0 1
4
Cele 4 puncte sunt: (0, 1), (0, 6), (0, -4) şi (0, 1).
Dreapta este chiar axa Oy.
5 0
0 1
2 3
-1 1
-2 -1
4 5
4
Cele 4 puncte sunt: (0, 1), (2, 3), (-2, -1) şi (4, 5).
Dreapta formează un unghi de 45 de grade cu axa Ox.