import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int point_num = sc.nextInt();
		int dis = sc.nextInt();
		ArrayList<String> ar = new ArrayList<>();
		int ans = 0;
		String v = sc.nextLine();

		int count = 0;
		while(count < point_num) {
			ar.add(sc.nextLine());
			count++;
		}



		for(String b : ar) {
			String bb[] = b.split(" ");
			int x = Integer.parseInt(bb[0]);
			int y = Integer.parseInt(bb[1]);

			double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

			if (dist <= dis) {
				ans++;
			}
		}

		System.out.println(ans);


//		Scanner sc = new Scanner(System.in);
//
//		int num = sc.nextInt();
//		int cut_num = sc.nextInt();
//		String v = sc.nextLine();
//		String l = sc.nextLine();
//		String len[] = l.split(" ");
//		ArrayList<String> ar = new ArrayList<>();
//		ArrayList<Double> ar2 = new ArrayList<>();
//
//		long ans = Long.MAX_VALUE;
//
//		for (int j = 0; j<1000; j++) {
//
//			for (int i = 0; i<len.length; i++) {
//				ar2.add((double)Integer.parseInt(len[i]));
//			}
//
//			long ret = cut(num, cut_num, ar2);
//
//			if (ans > ret) {
//				ans = ret;
//			}
//		}
//
//		System.out.println(ans);
//
//		}
//
//	static ArrayList<Double> sort(ArrayList<Double> ar2){
//		Collections.sort(ar2);
//		Collections.reverse(ar2);
//
//		return ar2;
//	}
//
//
//	static long cut(int num, int cut_num, ArrayList<Double> ar2) {
//		Random r = new Random();
//
//		for (int i=0; i<cut_num; i++) {
//
//			sort(ar2);
//			double result = ar2.get(0) / r.nextGaussian() * ar2.get(0);
//			ar2.set(0, result);
//
//		}
//
//		sort(ar2);
//
//		return Math.round(ar2.get(0));
	}

} import java.util.ArrayList; ArrayList java.util import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int point_num = sc.nextInt();
		int dis = sc.nextInt();
		ArrayList<String> ar = new ArrayList<>();
		int ans = 0;
		String v = sc.nextLine();

		int count = 0;
		while(count < point_num) {
			ar.add(sc.nextLine());
			count++;
		}



		for(String b : ar) {
			String bb[] = b.split(" ");
			int x = Integer.parseInt(bb[0]);
			int y = Integer.parseInt(bb[1]);

			double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

			if (dist <= dis) {
				ans++;
			}
		}

		System.out.println(ans);


//		Scanner sc = new Scanner(System.in);
//
//		int num = sc.nextInt();
//		int cut_num = sc.nextInt();
//		String v = sc.nextLine();
//		String l = sc.nextLine();
//		String len[] = l.split(" ");
//		ArrayList<String> ar = new ArrayList<>();
//		ArrayList<Double> ar2 = new ArrayList<>();
//
//		long ans = Long.MAX_VALUE;
//
//		for (int j = 0; j<1000; j++) {
//
//			for (int i = 0; i<len.length; i++) {
//				ar2.add((double)Integer.parseInt(len[i]));
//			}
//
//			long ret = cut(num, cut_num, ar2);
//
//			if (ans > ret) {
//				ans = ret;
//			}
//		}
//
//		System.out.println(ans);
//
//		}
//
//	static ArrayList<Double> sort(ArrayList<Double> ar2){
//		Collections.sort(ar2);
//		Collections.reverse(ar2);
//
//		return ar2;
//	}
//
//
//	static long cut(int num, int cut_num, ArrayList<Double> ar2) {
//		Random r = new Random();
//
//		for (int i=0; i<cut_num; i++) {
//
//			sort(ar2);
//			double result = ar2.get(0) / r.nextGaussian() * ar2.get(0);
//			ar2.set(0, result);
//
//		}
//
//		sort(ar2);
//
//		return Math.round(ar2.get(0));
	}

} Main public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int point_num = sc.nextInt();
		int dis = sc.nextInt();
		ArrayList<String> ar = new ArrayList<>();
		int ans = 0;
		String v = sc.nextLine();

		int count = 0;
		while(count < point_num) {
			ar.add(sc.nextLine());
			count++;
		}



		for(String b : ar) {
			String bb[] = b.split(" ");
			int x = Integer.parseInt(bb[0]);
			int y = Integer.parseInt(bb[1]);

			double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

			if (dist <= dis) {
				ans++;
			}
		}

		System.out.println(ans);


//		Scanner sc = new Scanner(System.in);
//
//		int num = sc.nextInt();
//		int cut_num = sc.nextInt();
//		String v = sc.nextLine();
//		String l = sc.nextLine();
//		String len[] = l.split(" ");
//		ArrayList<String> ar = new ArrayList<>();
//		ArrayList<Double> ar2 = new ArrayList<>();
//
//		long ans = Long.MAX_VALUE;
//
//		for (int j = 0; j<1000; j++) {
//
//			for (int i = 0; i<len.length; i++) {
//				ar2.add((double)Integer.parseInt(len[i]));
//			}
//
//			long ret = cut(num, cut_num, ar2);
//
//			if (ans > ret) {
//				ans = ret;
//			}
//		}
//
//		System.out.println(ans);
//
//		}
//
//	static ArrayList<Double> sort(ArrayList<Double> ar2){
//		Collections.sort(ar2);
//		Collections.reverse(ar2);
//
//		return ar2;
//	}
//
//
//	static long cut(int num, int cut_num, ArrayList<Double> ar2) {
//		Random r = new Random();
//
//		for (int i=0; i<cut_num; i++) {
//
//			sort(ar2);
//			double result = ar2.get(0) / r.nextGaussian() * ar2.get(0);
//			ar2.set(0, result);
//
//		}
//
//		sort(ar2);
//
//		return Math.round(ar2.get(0));
	} main {

		Scanner sc = new Scanner(System.in);
		int point_num = sc.nextInt();
		int dis = sc.nextInt();
		ArrayList<String> ar = new ArrayList<>();
		int ans = 0;
		String v = sc.nextLine();

		int count = 0;
		while(count < point_num) {
			ar.add(sc.nextLine());
			count++;
		}



		for(String b : ar) {
			String bb[] = b.split(" ");
			int x = Integer.parseInt(bb[0]);
			int y = Integer.parseInt(bb[1]);

			double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

			if (dist <= dis) {
				ans++;
			}
		}

		System.out.println(ans);


//		Scanner sc = new Scanner(System.in);
//
//		int num = sc.nextInt();
//		int cut_num = sc.nextInt();
//		String v = sc.nextLine();
//		String l = sc.nextLine();
//		String len[] = l.split(" ");
//		ArrayList<String> ar = new ArrayList<>();
//		ArrayList<Double> ar2 = new ArrayList<>();
//
//		long ans = Long.MAX_VALUE;
//
//		for (int j = 0; j<1000; j++) {
//
//			for (int i = 0; i<len.length; i++) {
//				ar2.add((double)Integer.parseInt(len[i]));
//			}
//
//			long ret = cut(num, cut_num, ar2);
//
//			if (ans > ret) {
//				ans = ret;
//			}
//		}
//
//		System.out.println(ans);
//
//		}
//
//	static ArrayList<Double> sort(ArrayList<Double> ar2){
//		Collections.sort(ar2);
//		Collections.reverse(ar2);
//
//		return ar2;
//	}
//
//
//	static long cut(int num, int cut_num, ArrayList<Double> ar2) {
//		Random r = new Random();
//
//		for (int i=0; i<cut_num; i++) {
//
//			sort(ar2);
//			double result = ar2.get(0) / r.nextGaussian() * ar2.get(0);
//			ar2.set(0, result);
//
//		}
//
//		sort(ar2);
//
//		return Math.round(ar2.get(0));
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int point_num = sc.nextInt(); point_num sc.nextInt() sc.nextInt sc int dis = sc.nextInt(); dis sc.nextInt() sc.nextInt sc ArrayList<String> ar = new ArrayList<>(); ar new ArrayList<>() int ans = 0; ans 0 String v = sc.nextLine(); v sc.nextLine() sc.nextLine sc int count = 0; count 0 while(count < point_num) {
			ar.add(sc.nextLine());
			count++;
		} count < point_num count point_num {
			ar.add(sc.nextLine());
			count++;
		} ar.add(sc.nextLine()) ar.add ar sc.nextLine() sc.nextLine sc count++ count for(String b : ar) {
			String bb[] = b.split(" ");
			int x = Integer.parseInt(bb[0]);
			int y = Integer.parseInt(bb[1]);

			double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

			if (dist <= dis) {
				ans++;
			}
		} String b ar {
			String bb[] = b.split(" ");
			int x = Integer.parseInt(bb[0]);
			int y = Integer.parseInt(bb[1]);

			double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

			if (dist <= dis) {
				ans++;
			}
		} {
			String bb[] = b.split(" ");
			int x = Integer.parseInt(bb[0]);
			int y = Integer.parseInt(bb[1]);

			double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

			if (dist <= dis) {
				ans++;
			}
		} String bb[] = b.split(" "); bb b.split(" ") b.split b " " int x = Integer.parseInt(bb[0]); x Integer.parseInt(bb[0]) Integer.parseInt Integer bb[0] bb 0 int y = Integer.parseInt(bb[1]); y Integer.parseInt(bb[1]) Integer.parseInt Integer bb[1] bb 1 double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); dist Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)) Math.sqrt Math Math.pow(x, 2) + Math.pow(y, 2) Math.pow(x, 2) Math.pow Math x 2 Math.pow(y, 2) Math.pow Math y 2 if (dist <= dis) {
				ans++;
			} dist <= dis dist dis {
				ans++;
			} ans++ ans System.out.println(ans) System.out.println System.out System System.out ans String[] args args public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int point_num = sc.nextInt();
		int dis = sc.nextInt();
		ArrayList<String> ar = new ArrayList<>();
		int ans = 0;
		String v = sc.nextLine();

		int count = 0;
		while(count < point_num) {
			ar.add(sc.nextLine());
			count++;
		}



		for(String b : ar) {
			String bb[] = b.split(" ");
			int x = Integer.parseInt(bb[0]);
			int y = Integer.parseInt(bb[1]);

			double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

			if (dist <= dis) {
				ans++;
			}
		}

		System.out.println(ans);


//		Scanner sc = new Scanner(System.in);
//
//		int num = sc.nextInt();
//		int cut_num = sc.nextInt();
//		String v = sc.nextLine();
//		String l = sc.nextLine();
//		String len[] = l.split(" ");
//		ArrayList<String> ar = new ArrayList<>();
//		ArrayList<Double> ar2 = new ArrayList<>();
//
//		long ans = Long.MAX_VALUE;
//
//		for (int j = 0; j<1000; j++) {
//
//			for (int i = 0; i<len.length; i++) {
//				ar2.add((double)Integer.parseInt(len[i]));
//			}
//
//			long ret = cut(num, cut_num, ar2);
//
//			if (ans > ret) {
//				ans = ret;
//			}
//		}
//
//		System.out.println(ans);
//
//		}
//
//	static ArrayList<Double> sort(ArrayList<Double> ar2){
//		Collections.sort(ar2);
//		Collections.reverse(ar2);
//
//		return ar2;
//	}
//
//
//	static long cut(int num, int cut_num, ArrayList<Double> ar2) {
//		Random r = new Random();
//
//		for (int i=0; i<cut_num; i++) {
//
//			sort(ar2);
//			double result = ar2.get(0) / r.nextGaussian() * ar2.get(0);
//			ar2.set(0, result);
//
//		}
//
//		sort(ar2);
//
//		return Math.round(ar2.get(0));
	}

} public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int point_num = sc.nextInt();
		int dis = sc.nextInt();
		ArrayList<String> ar = new ArrayList<>();
		int ans = 0;
		String v = sc.nextLine();

		int count = 0;
		while(count < point_num) {
			ar.add(sc.nextLine());
			count++;
		}



		for(String b : ar) {
			String bb[] = b.split(" ");
			int x = Integer.parseInt(bb[0]);
			int y = Integer.parseInt(bb[1]);

			double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

			if (dist <= dis) {
				ans++;
			}
		}

		System.out.println(ans);


//		Scanner sc = new Scanner(System.in);
//
//		int num = sc.nextInt();
//		int cut_num = sc.nextInt();
//		String v = sc.nextLine();
//		String l = sc.nextLine();
//		String len[] = l.split(" ");
//		ArrayList<String> ar = new ArrayList<>();
//		ArrayList<Double> ar2 = new ArrayList<>();
//
//		long ans = Long.MAX_VALUE;
//
//		for (int j = 0; j<1000; j++) {
//
//			for (int i = 0; i<len.length; i++) {
//				ar2.add((double)Integer.parseInt(len[i]));
//			}
//
//			long ret = cut(num, cut_num, ar2);
//
//			if (ans > ret) {
//				ans = ret;
//			}
//		}
//
//		System.out.println(ans);
//
//		}
//
//	static ArrayList<Double> sort(ArrayList<Double> ar2){
//		Collections.sort(ar2);
//		Collections.reverse(ar2);
//
//		return ar2;
//	}
//
//
//	static long cut(int num, int cut_num, ArrayList<Double> ar2) {
//		Random r = new Random();
//
//		for (int i=0; i<cut_num; i++) {
//
//			sort(ar2);
//			double result = ar2.get(0) / r.nextGaussian() * ar2.get(0);
//			ar2.set(0, result);
//
//		}
//
//		sort(ar2);
//
//		return Math.round(ar2.get(0));
	}

} Main
import java.util.ArrayList;
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int point_num = sc.nextInt();
		int dis = sc.nextInt();
		ArrayList<String> ar = new ArrayList<>();
		int ans = 0;
		String v = sc.nextLine();

		int count = 0;
		while(count < point_num) {
			ar.add(sc.nextLine());
			count++;
		}



		for(String b : ar) {
			String bb[] = b.split(" ");
			int x = Integer.parseInt(bb[0]);
			int y = Integer.parseInt(bb[1]);

			double dist = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));

			if (dist <= dis) {
				ans++;
			}
		}

		System.out.println(ans);


//		Scanner sc = new Scanner(System.in);
//
//		int num = sc.nextInt();
//		int cut_num = sc.nextInt();
//		String v = sc.nextLine();
//		String l = sc.nextLine();
//		String len[] = l.split(" ");
//		ArrayList<String> ar = new ArrayList<>();
//		ArrayList<Double> ar2 = new ArrayList<>();
//
//		long ans = Long.MAX_VALUE;
//
//		for (int j = 0; j<1000; j++) {
//
//			for (int i = 0; i<len.length; i++) {
//				ar2.add((double)Integer.parseInt(len[i]));
//			}
//
//			long ret = cut(num, cut_num, ar2);
//
//			if (ans > ret) {
//				ans = ret;
//			}
//		}
//
//		System.out.println(ans);
//
//		}
//
//	static ArrayList<Double> sort(ArrayList<Double> ar2){
//		Collections.sort(ar2);
//		Collections.reverse(ar2);
//
//		return ar2;
//	}
//
//
//	static long cut(int num, int cut_num, ArrayList<Double> ar2) {
//		Random r = new Random();
//
//		for (int i=0; i<cut_num; i++) {
//
//			sort(ar2);
//			double result = ar2.get(0) / r.nextGaussian() * ar2.get(0);
//			ar2.set(0, result);
//
//		}
//
//		sort(ar2);
//
//		return Math.round(ar2.get(0));
	}

}
