#!/usr/bin/env python3
# Generated by https://github.com/kyuridenamida/atcoder-tools
from typing import *
import collections
import functools as fts
import itertools as its
import math
import sys

INF = float('inf')


def solve(N: int, D: int, X: "List[int]", Y: "List[int]"):
    return sum(D*D >= (p*p + q*q) for p, q in zip(X, Y))


def main():

    sys.setrecursionlimit(10 ** 6)

    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    D = int(next(tokens))  # type: int
    X = [int()] * (N)  # type: "List[int]"
    Y = [int()] * (N)  # type: "List[int]"
    for i in range(N):
        X[i] = int(next(tokens))
        Y[i] = int(next(tokens))
    print(f'{solve(N, D, X, Y)}')


if __name__ == '__main__':
    main() from typing import * import collections collections import functools as fts functools import itertools as its itertools import math math import sys sys INF = float('inf') INF float('inf') float 'inf' def solve(N: int, D: int, X: "List[int]", Y: "List[int]"):
    return sum(D*D >= (p*p + q*q) for p, q in zip(X, Y)) solve return sum(D*D >= (p*p + q*q) for p, q in zip(X, Y)) sum(D*D >= (p*p + q*q) for p, q in zip(X, Y)) sum D*D >= (p*p + q*q) D*D D D p*p + q*q p*p p p q*q q q N: int N D: int D X: "List[int]" X Y: "List[int]" Y def main():

    sys.setrecursionlimit(10 ** 6)

    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    D = int(next(tokens))  # type: int
    X = [int()] * (N)  # type: "List[int]"
    Y = [int()] * (N)  # type: "List[int]"
    for i in range(N):
        X[i] = int(next(tokens))
        Y[i] = int(next(tokens))
    print(f'{solve(N, D, X, Y)}') main sys.setrecursionlimit(10 ** 6) sys.setrecursionlimit sys setrecursionlimit 10 ** 6 10 6 def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
     iterate_tokens for line in sys.stdin:
            for word in line.split():
                yield word
     line sys.stdin sys stdin for word in line.split():
                yield word
     word line.split() line.split line split yield word word tokens = iterate_tokens() tokens iterate_tokens() iterate_tokens N = int(next(tokens)) N int(next(tokens)) int next(tokens) next tokens D = int(next(tokens)) D int(next(tokens)) int next(tokens) next tokens X = [int()] * (N) X [int()] * (N) [int()] int() int N Y = [int()] * (N) Y [int()] * (N) [int()] int() int N for i in range(N):
        X[i] = int(next(tokens))
        Y[i] = int(next(tokens))
     i range(N) range N X[i] = int(next(tokens)) X[i] X i int(next(tokens)) int next(tokens) next tokens Y[i] = int(next(tokens)) Y[i] Y i int(next(tokens)) int next(tokens) next tokens print(f'{solve(N, D, X, Y)}') print f'{solve(N, D, X, Y)}' if __name__ == '__main__':
    main() __name__ == '__main__' __name__ '__main__' main() main def main():

    sys.setrecursionlimit(10 ** 6)

    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    D = int(next(tokens))  # type: int
    X = [int()] * (N)  # type: "List[int]"
    Y = [int()] * (N)  # type: "List[int]"
    for i in range(N):
        X[i] = int(next(tokens))
        Y[i] = int(next(tokens))
    print(f'{solve(N, D, X, Y)}') def main():

    sys.setrecursionlimit(10 ** 6)

    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    D = int(next(tokens))  # type: int
    X = [int()] * (N)  # type: "List[int]"
    Y = [int()] * (N)  # type: "List[int]"
    for i in range(N):
        X[i] = int(next(tokens))
        Y[i] = int(next(tokens))
    print(f'{solve(N, D, X, Y)}') main INF = float('inf') float('inf') INF def solve(N: int, D: int, X: "List[int]", Y: "List[int]"):
    return sum(D*D >= (p*p + q*q) for p, q in zip(X, Y)) def solve(N: int, D: int, X: "List[int]", Y: "List[int]"):
    return sum(D*D >= (p*p + q*q) for p, q in zip(X, Y)) solve
#!/usr/bin/env python3
# Generated by https://github.com/kyuridenamida/atcoder-tools
from typing import *
import collections
import functools as fts
import itertools as its
import math
import sys

INF = float('inf')


def solve(N: int, D: int, X: "List[int]", Y: "List[int]"):
    return sum(D*D >= (p*p + q*q) for p, q in zip(X, Y))


def main():

    sys.setrecursionlimit(10 ** 6)

    def iterate_tokens():
        for line in sys.stdin:
            for word in line.split():
                yield word
    tokens = iterate_tokens()
    N = int(next(tokens))  # type: int
    D = int(next(tokens))  # type: int
    X = [int()] * (N)  # type: "List[int]"
    Y = [int()] * (N)  # type: "List[int]"
    for i in range(N):
        X[i] = int(next(tokens))
        Y[i] = int(next(tokens))
    print(f'{solve(N, D, X, Y)}')


if __name__ == '__main__':
    main()
