import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		// スペース区切りの整数の入力
		int D = sc.nextInt();
        int A[];
		A = new int[N];
        int B[];
		B = new int[N];
        for (int i = 0; i < N; i++){
			 A[i] = sc.nextInt();
			 B[i] = sc.nextInt();
        }
        double X[];
		X = new double[N];
        double Y[];
		Y = new double[N];
        for (int i = 0; i < N; i++){
			 X[i] = A[i];
			 Y[i] = B[i];
        }
        double L;
        int Nstep ;
        Nstep=0;
        for (int j = 0; j < N; j++){
        	L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j]));
      	    if (L<=D){
        		Nstep=Nstep+1;
        	}
        }
		// 出力
		System.out.println(Nstep);
	}
} import java.util.*; util.* java public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		// スペース区切りの整数の入力
		int D = sc.nextInt();
        int A[];
		A = new int[N];
        int B[];
		B = new int[N];
        for (int i = 0; i < N; i++){
			 A[i] = sc.nextInt();
			 B[i] = sc.nextInt();
        }
        double X[];
		X = new double[N];
        double Y[];
		Y = new double[N];
        for (int i = 0; i < N; i++){
			 X[i] = A[i];
			 Y[i] = B[i];
        }
        double L;
        int Nstep ;
        Nstep=0;
        for (int j = 0; j < N; j++){
        	L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j]));
      	    if (L<=D){
        		Nstep=Nstep+1;
        	}
        }
		// 出力
		System.out.println(Nstep);
	}
} Main public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		// スペース区切りの整数の入力
		int D = sc.nextInt();
        int A[];
		A = new int[N];
        int B[];
		B = new int[N];
        for (int i = 0; i < N; i++){
			 A[i] = sc.nextInt();
			 B[i] = sc.nextInt();
        }
        double X[];
		X = new double[N];
        double Y[];
		Y = new double[N];
        for (int i = 0; i < N; i++){
			 X[i] = A[i];
			 Y[i] = B[i];
        }
        double L;
        int Nstep ;
        Nstep=0;
        for (int j = 0; j < N; j++){
        	L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j]));
      	    if (L<=D){
        		Nstep=Nstep+1;
        	}
        }
		// 出力
		System.out.println(Nstep);
	} main {
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		// スペース区切りの整数の入力
		int D = sc.nextInt();
        int A[];
		A = new int[N];
        int B[];
		B = new int[N];
        for (int i = 0; i < N; i++){
			 A[i] = sc.nextInt();
			 B[i] = sc.nextInt();
        }
        double X[];
		X = new double[N];
        double Y[];
		Y = new double[N];
        for (int i = 0; i < N; i++){
			 X[i] = A[i];
			 Y[i] = B[i];
        }
        double L;
        int Nstep ;
        Nstep=0;
        for (int j = 0; j < N; j++){
        	L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j]));
      	    if (L<=D){
        		Nstep=Nstep+1;
        	}
        }
		// 出力
		System.out.println(Nstep);
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int D = sc.nextInt(); D sc.nextInt() sc.nextInt sc int A[]; A A = new int[N] A new int[N] N int B[]; B B = new int[N] B new int[N] N for (int i = 0; i < N; i++){
			 A[i] = sc.nextInt();
			 B[i] = sc.nextInt();
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			 A[i] = sc.nextInt();
			 B[i] = sc.nextInt();
        } {
			 A[i] = sc.nextInt();
			 B[i] = sc.nextInt();
        } A[i] = sc.nextInt() A[i] A i sc.nextInt() sc.nextInt sc B[i] = sc.nextInt() B[i] B i sc.nextInt() sc.nextInt sc double X[]; X X = new double[N] X new double[N] N double Y[]; Y Y = new double[N] Y new double[N] N for (int i = 0; i < N; i++){
			 X[i] = A[i];
			 Y[i] = B[i];
        } int i = 0; int i = 0; i 0 i < N i N i++ i++ i {
			 X[i] = A[i];
			 Y[i] = B[i];
        } {
			 X[i] = A[i];
			 Y[i] = B[i];
        } X[i] = A[i] X[i] X i A[i] A i Y[i] = B[i] Y[i] Y i B[i] B i double L; L int Nstep ; Nstep Nstep=0 Nstep 0 for (int j = 0; j < N; j++){
        	L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j]));
      	    if (L<=D){
        		Nstep=Nstep+1;
        	}
        } int j = 0; int j = 0; j 0 j < N j N j++ j++ j {
        	L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j]));
      	    if (L<=D){
        		Nstep=Nstep+1;
        	}
        } {
        	L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j]));
      	    if (L<=D){
        		Nstep=Nstep+1;
        	}
        } L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j])) L Math.sqrt((X[j]*X[j])+(Y[j]*Y[j])) Math.sqrt Math (X[j]*X[j])+(Y[j]*Y[j]) (X[j]*X[j]) X[j] X j X[j] X j (Y[j]*Y[j]) Y[j] Y j Y[j] Y j if (L<=D){
        		Nstep=Nstep+1;
        	} L<=D L D {
        		Nstep=Nstep+1;
        	} Nstep=Nstep+1 Nstep Nstep+1 Nstep 1 System.out.println(Nstep) System.out.println System.out System System.out Nstep String[] args args public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		// スペース区切りの整数の入力
		int D = sc.nextInt();
        int A[];
		A = new int[N];
        int B[];
		B = new int[N];
        for (int i = 0; i < N; i++){
			 A[i] = sc.nextInt();
			 B[i] = sc.nextInt();
        }
        double X[];
		X = new double[N];
        double Y[];
		Y = new double[N];
        for (int i = 0; i < N; i++){
			 X[i] = A[i];
			 Y[i] = B[i];
        }
        double L;
        int Nstep ;
        Nstep=0;
        for (int j = 0; j < N; j++){
        	L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j]));
      	    if (L<=D){
        		Nstep=Nstep+1;
        	}
        }
		// 出力
		System.out.println(Nstep);
	}
} public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		// スペース区切りの整数の入力
		int D = sc.nextInt();
        int A[];
		A = new int[N];
        int B[];
		B = new int[N];
        for (int i = 0; i < N; i++){
			 A[i] = sc.nextInt();
			 B[i] = sc.nextInt();
        }
        double X[];
		X = new double[N];
        double Y[];
		Y = new double[N];
        for (int i = 0; i < N; i++){
			 X[i] = A[i];
			 Y[i] = B[i];
        }
        double L;
        int Nstep ;
        Nstep=0;
        for (int j = 0; j < N; j++){
        	L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j]));
      	    if (L<=D){
        		Nstep=Nstep+1;
        	}
        }
		// 出力
		System.out.println(Nstep);
	}
} Main
import java.util.*;
public class Main {
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		// 整数の入力
		int N = sc.nextInt();
		// スペース区切りの整数の入力
		int D = sc.nextInt();
        int A[];
		A = new int[N];
        int B[];
		B = new int[N];
        for (int i = 0; i < N; i++){
			 A[i] = sc.nextInt();
			 B[i] = sc.nextInt();
        }
        double X[];
		X = new double[N];
        double Y[];
		Y = new double[N];
        for (int i = 0; i < N; i++){
			 X[i] = A[i];
			 Y[i] = B[i];
        }
        double L;
        int Nstep ;
        Nstep=0;
        for (int j = 0; j < N; j++){
        	L=Math.sqrt((X[j]*X[j])+(Y[j]*Y[j]));
      	    if (L<=D){
        		Nstep=Nstep+1;
        	}
        }
		// 出力
		System.out.println(Nstep);
	}
}
