# -*- coding: utf-8 -*-

# モジュールのインポート

import math



# 標準入力を取得

N, D = list(map(int, input().split()))

X, Y = [], []

for n in range(N):

    X_n, Y_n = list(map(int, input().split()))

    X.append(X_n)

    Y.append(Y_n)



# 求解処理





def get_distance(p: int, q: int) -> float:

    return math.sqrt(math.pow(p, 2) + math.pow(q, 2))





ans = 0

for n in range(N):

    distance = get_distance(X[n], Y[n])

    if distance <= D:

        ans += 1



# 結果出力

print(ans)

# -*- coding: utf-8 -*-



def get_input() -> tuple:

    """

    標準入力を取得する.



    Returns:\n

        tuple: 標準入力

    """

    N, D = list(map(int, input().split()))

    X, Y = [], []

    for n in range(N):

        X_n, Y_n = list(map(int, input().split()))

        X.append(X_n)

        Y.append(Y_n)



    return N, D, X, Y





def main(N: int, D: int, X: list, Y: list) -> None:

    """

    メイン処理.



    Args:\n

        N (int): 点の個数

        D (int): 距離

        X (list): x座標

        Y (list): y座標

    """

    # 求解処理

    ans = 0

    for n in range(N):

        X_n = X[n]

        Y_n = Y[n]

        if X_n * X_n + Y_n * Y_n <= D * D:

            ans += 1



    # 結果出力

    print(ans)





if __name__ == "__main__":

    # 標準入力を取得

    N, D, X, Y = get_input()



    # メイン処理

    main(N, D, X, Y)

# -*- coding: utf-8 -*-
# モジュールのインポート
import math

# 標準入力を取得
N, D = list(map(int, input().split()))
X, Y = [], []
for n in range(N):
    X_n, Y_n = list(map(int, input().split()))
    X.append(X_n)
    Y.append(Y_n)
# 求解処理
def get_distance(p: int, q: int) -> float:
    return math.sqrt(math.pow(p, 2) + math.pow(q, 2))


ans = 0
for n in range(N):
    distance = get_distance(X[n], Y[n])
    if distance <= D:
        ans += 1
# 結果出力
print(ans)

# -*- coding: utf-8 -*-
def get_input() -> tuple:
    """
    標準入力を取得する.
    Returns:\n
        tuple: 標準入力
    """
    N, D = list(map(int, input().split()))
    X, Y = [], []
    for n in range(N):
        X_n, Y_n = list(map(int, input().split()))
        X.append(X_n)
        Y.append(Y_n)
    return N, D, X, Y


def main(N: int, D: int, X: list, Y: list) -> None:
    """
    メイン処理.
    Args:\n
        N (int): 点の個数
        D (int): 距離
        X (list): x座標
        Y (list): y座標
    """
    # 求解処理
    ans = 0
    for n in range(N):
        X_n = X[n]
        Y_n = Y[n]
        if X_n * X_n + Y_n * Y_n <= D * D:
            ans += 1
    # 結果出力
    print(ans)


if __name__ == "__main__":
    # 標準入力を取得
    N, D, X, Y = get_input()
    # メイン処理
    main(N, D, X, Y)

-# モジュールのインポート -import math - -# 標準入力を取得 -N, D = list(map(int, input().split())) -X, Y = [], [] -for n in range(N): -    X_n, Y_n = list(map(int, input().split())) -    X.append(X_n) -    Y.append(Y_n) -# 求解処理 -def get_distance(p: int, q: int) -> float: -    return math.sqrt(math.pow(p, 2) + math.pow(q, 2)) +def get_input() -> tuple: +    """ +    標準入力を取得する. +    Returns:\n +        tuple: 標準入力 +    """ +    N, D = list(map(int, input().split())) +    X, Y = [], [] +    for n in range(N): +        X_n, Y_n = list(map(int, input().split())) +        X.append(X_n) +        Y.append(Y_n) +    return N, D, X, Y -ans = 0 -for n in range(N): -    distance = get_distance(X[n], Y[n]) -    if distance <= D: -        ans += 1 -# 結果出力 -print(ans) +def main(N: int, D: int, X: list, Y: list) -> None: +    """ +    メイン処理. +    Args:\n +        N (int): 点の個数 +        D (int): 距離 +        X (list): x座標 +        Y (list): y座標 +    """ +    # 求解処理 +    ans = 0 +    for n in range(N): +        X_n = X[n] +        Y_n = Y[n] +        if X_n * X_n + Y_n * Y_n <= D * D: +            ans += 1 +    # 結果出力 +    print(ans) + + +if __name__ == "__main__": +    # 標準入力を取得 +    N, D, X, Y = get_input() +    # メイン処理 +    main(N, D, X, Y)