import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;
import java.util.Arrays;
import java.util.ArrayList;
import java.lang.Math; 
import java.util.Arrays;
import java.util.Comparator;
 
 
 
public class Main 
{ 
    static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
        
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } 

   

    static int binarySearch(int a[],int k,int l,int h){
        
        while(l<=h){
         int mid = (l+h)/2;
         if(a[mid]==k) return mid;
         else if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1;
    }
        
        return -1;
    }



    static String reverse(String input)  
    { 
        char[] a = input.toCharArray(); 
        int l, r = 0; 
        r = a.length - 1; 
  
        for (l = 0; l < r; l++, r--) 
        { 
            // Swap values of l and r  
            char temp = a[l]; 
            a[l] = a[r]; 
            a[r] = temp; 
        } 
        return String.valueOf(a); 
    } 

   
    
    static int gcd(int a, int b) 
    { 
        // Everything divides 0  
        if (a == 0) 
          return b; 
        if (b == 0) 
          return a; 
       if (a == b) 
            return a; 
       if (a > b) 
            return gcd(a-b, b); 
        return gcd(a, b-a); 
    } 

    static int lcm(int a, int b) 
    { 
        return (a*b)/gcd(a, b); 
    } 

    static int solve(int A, int B) 
   { 
    int count = 0; 
    for (int i = 0; i < 21; i++) { 
        if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } 
    } 
  
   return count;
  } 

        static long nCr(int n, int r) 
        { 
            return fact(n) / (fact(r) * 
                        fact(n - r)); 
        } 
        
        
        static long fact(int n) 
        { 
            long res = 1; 
            for (int i = 2; i <= n; i++) 
                res = res * i; 
            return res; 
        } 
        
        public static long count(long k) {
            return k * (k - 1) / 2;
        }

        static boolean isPrime(int n) { 
            // if(n==1) return false; 
            if(n==2) return true;
            if (n%2==0) return false; 
            
            for(int i=3;i<=Math.sqrt(n);i+=2) { 
                if(n%i==0) 
                    return false; 
            } 
            return true; 
        }

        static int negMod(int n){
            int a = (n % 1000000007 + 1000000007) % 1000000007;
            return a;
        }
        static String value(int val) {
            String bin = ""; 
                    while (val > 0)  
                    { 
                        if (val % 2 == 1) 
                        { 
                            bin += '1'; 
                        } 
                        else
                            bin += '0'; 
                        val /= 2; 
                    } 
                    bin = reverse(bin); 
                    return bin;
                }

                public static int sum(long x) {
                    int sum = 0;
                    while (x > 0) {
                        sum += x % 10;
                        x /= 10;
                    }
                    return sum;
                }
             
        
        static int mod=1000003;
        public static void main(String[] args) throws Exception 
    {   
       
        OutputStream outputStream = System.out;
        PrintWriter w = new PrintWriter(outputStream);
        FastReader sc = new FastReader();
        // Scanner sc = new Scanner(new File("input.txt"));
        // PrintWriter out = new PrintWriter(new File("output.txt"));
        int i,j=0;
        
        int n = sc.nextInt();
        long d = sc.nextLong();
        int c = 0;
        // HashMap<Long,Long> h = new HashMap<>();
        for(i=1;i<=n;i++){
            j=0;
            long x  = sc.nextLong();
            long y  =  sc.nextLong();
            // if(h.containsKey(x)){
            //     if(h.get(x) == y) {j=1;continue;}
            // }
            // if(j==1) continue;
            // h.put(x,y);
            double f = Math.sqrt(x*x + y*y);
            // w.println(f);
            if(f<=d) c++;
        }
        w.print(c);
        w.close();
     }

       
}



// System.out.println();

        
    
    
 import java.io.*; io.* java import java.math.*; math.* java import java.security.*; security.* java import java.text.*; text.* java import java.util.*; util.* java import java.util.concurrent.*; concurrent.* java.util import java.util.regex.*; regex.* java.util import java.util.Arrays; Arrays java.util import java.util.ArrayList; ArrayList java.util import java.lang.Math; Math java.lang import java.util.Arrays; Arrays java.util import java.util.Comparator; Comparator java.util public class Main 
{ 
    static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
        
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } 

   

    static int binarySearch(int a[],int k,int l,int h){
        
        while(l<=h){
         int mid = (l+h)/2;
         if(a[mid]==k) return mid;
         else if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1;
    }
        
        return -1;
    }



    static String reverse(String input)  
    { 
        char[] a = input.toCharArray(); 
        int l, r = 0; 
        r = a.length - 1; 
  
        for (l = 0; l < r; l++, r--) 
        { 
            // Swap values of l and r  
            char temp = a[l]; 
            a[l] = a[r]; 
            a[r] = temp; 
        } 
        return String.valueOf(a); 
    } 

   
    
    static int gcd(int a, int b) 
    { 
        // Everything divides 0  
        if (a == 0) 
          return b; 
        if (b == 0) 
          return a; 
       if (a == b) 
            return a; 
       if (a > b) 
            return gcd(a-b, b); 
        return gcd(a, b-a); 
    } 

    static int lcm(int a, int b) 
    { 
        return (a*b)/gcd(a, b); 
    } 

    static int solve(int A, int B) 
   { 
    int count = 0; 
    for (int i = 0; i < 21; i++) { 
        if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } 
    } 
  
   return count;
  } 

        static long nCr(int n, int r) 
        { 
            return fact(n) / (fact(r) * 
                        fact(n - r)); 
        } 
        
        
        static long fact(int n) 
        { 
            long res = 1; 
            for (int i = 2; i <= n; i++) 
                res = res * i; 
            return res; 
        } 
        
        public static long count(long k) {
            return k * (k - 1) / 2;
        }

        static boolean isPrime(int n) { 
            // if(n==1) return false; 
            if(n==2) return true;
            if (n%2==0) return false; 
            
            for(int i=3;i<=Math.sqrt(n);i+=2) { 
                if(n%i==0) 
                    return false; 
            } 
            return true; 
        }

        static int negMod(int n){
            int a = (n % 1000000007 + 1000000007) % 1000000007;
            return a;
        }
        static String value(int val) {
            String bin = ""; 
                    while (val > 0)  
                    { 
                        if (val % 2 == 1) 
                        { 
                            bin += '1'; 
                        } 
                        else
                            bin += '0'; 
                        val /= 2; 
                    } 
                    bin = reverse(bin); 
                    return bin;
                }

                public static int sum(long x) {
                    int sum = 0;
                    while (x > 0) {
                        sum += x % 10;
                        x /= 10;
                    }
                    return sum;
                }
             
        
        static int mod=1000003;
        public static void main(String[] args) throws Exception 
    {   
       
        OutputStream outputStream = System.out;
        PrintWriter w = new PrintWriter(outputStream);
        FastReader sc = new FastReader();
        // Scanner sc = new Scanner(new File("input.txt"));
        // PrintWriter out = new PrintWriter(new File("output.txt"));
        int i,j=0;
        
        int n = sc.nextInt();
        long d = sc.nextLong();
        int c = 0;
        // HashMap<Long,Long> h = new HashMap<>();
        for(i=1;i<=n;i++){
            j=0;
            long x  = sc.nextLong();
            long y  =  sc.nextLong();
            // if(h.containsKey(x)){
            //     if(h.get(x) == y) {j=1;continue;}
            // }
            // if(j==1) continue;
            // h.put(x,y);
            double f = Math.sqrt(x*x + y*y);
            // w.println(f);
            if(f<=d) c++;
        }
        w.print(c);
        w.close();
     }

       
} Main static int mod=1000003; mod 1000003 static int binarySearch(int a[],int k,int l,int h){
        
        while(l<=h){
         int mid = (l+h)/2;
         if(a[mid]==k) return mid;
         else if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1;
    }
        
        return -1;
    } binarySearch {
        
        while(l<=h){
         int mid = (l+h)/2;
         if(a[mid]==k) return mid;
         else if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1;
    }
        
        return -1;
    } while(l<=h){
         int mid = (l+h)/2;
         if(a[mid]==k) return mid;
         else if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1;
    } l<=h l h {
         int mid = (l+h)/2;
         if(a[mid]==k) return mid;
         else if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1;
    } int mid = (l+h)/2; mid (l+h)/2 (l+h) l h 2 if(a[mid]==k) return mid;
         else if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1; a[mid]==k a[mid] a mid k return mid; mid if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1; a[mid]>k a[mid] a mid k h=mid-1 h mid-1 mid 1 if(a[mid]<k) l =mid+1; a[mid]<k a[mid] a mid k l =mid+1 l mid+1 mid 1 return -1; -1 1 int a[] a int k k int l l int h h static String reverse(String input)  
    { 
        char[] a = input.toCharArray(); 
        int l, r = 0; 
        r = a.length - 1; 
  
        for (l = 0; l < r; l++, r--) 
        { 
            // Swap values of l and r  
            char temp = a[l]; 
            a[l] = a[r]; 
            a[r] = temp; 
        } 
        return String.valueOf(a); 
    } reverse { 
        char[] a = input.toCharArray(); 
        int l, r = 0; 
        r = a.length - 1; 
  
        for (l = 0; l < r; l++, r--) 
        { 
            // Swap values of l and r  
            char temp = a[l]; 
            a[l] = a[r]; 
            a[r] = temp; 
        } 
        return String.valueOf(a); 
    } char[] a = input.toCharArray(); a input.toCharArray() input.toCharArray input int l l r = 0; r 0 r = a.length - 1 r a.length - 1 a.length a a.length 1 for (l = 0; l < r; l++, r--) 
        { 
            // Swap values of l and r  
            char temp = a[l]; 
            a[l] = a[r]; 
            a[r] = temp; 
        } l = 0; l = 0 l 0 l < r l r l++, r-- l++ l r-- r { 
            // Swap values of l and r  
            char temp = a[l]; 
            a[l] = a[r]; 
            a[r] = temp; 
        } { 
            // Swap values of l and r  
            char temp = a[l]; 
            a[l] = a[r]; 
            a[r] = temp; 
        } char temp = a[l]; temp a[l] a l a[l] = a[r] a[l] a l a[r] a r a[r] = temp a[r] a r temp return String.valueOf(a); String.valueOf(a) String.valueOf String a String input input static int gcd(int a, int b) 
    { 
        // Everything divides 0  
        if (a == 0) 
          return b; 
        if (b == 0) 
          return a; 
       if (a == b) 
            return a; 
       if (a > b) 
            return gcd(a-b, b); 
        return gcd(a, b-a); 
    } gcd { 
        // Everything divides 0  
        if (a == 0) 
          return b; 
        if (b == 0) 
          return a; 
       if (a == b) 
            return a; 
       if (a > b) 
            return gcd(a-b, b); 
        return gcd(a, b-a); 
    } if (a == 0) 
          return b; a == 0 a 0 return b; b if (b == 0) 
          return a; b == 0 b 0 return a; a if (a == b) 
            return a; a == b a b return a; a if (a > b) 
            return gcd(a-b, b); a > b a b return gcd(a-b, b); gcd(a-b, b) gcd a-b a b b return gcd(a, b-a); gcd(a, b-a) gcd a b-a b a int a a int b b static int lcm(int a, int b) 
    { 
        return (a*b)/gcd(a, b); 
    } lcm { 
        return (a*b)/gcd(a, b); 
    } return (a*b)/gcd(a, b); (a*b)/gcd(a, b) (a*b) a b gcd(a, b) gcd a b int a a int b b static int solve(int A, int B) 
   { 
    int count = 0; 
    for (int i = 0; i < 21; i++) { 
        if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } 
    } 
  
   return count;
  } solve { 
    int count = 0; 
    for (int i = 0; i < 21; i++) { 
        if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } 
    } 
  
   return count;
  } int count = 0; count 0 for (int i = 0; i < 21; i++) { 
        if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } 
    } int i = 0; int i = 0; i 0 i < 21 i 21 i++ i++ i { 
        if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } 
    } { 
        if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } 
    } if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } ((A >> i) & 1) != ((B >> i) & 1) ((A >> i) & 1) (A >> i) A i 1 ((B >> i) & 1) (B >> i) B i 1 { 
            count++; 
        } count++ count return count; count int A A int B B static long nCr(int n, int r) 
        { 
            return fact(n) / (fact(r) * 
                        fact(n - r)); 
        } nCr { 
            return fact(n) / (fact(r) * 
                        fact(n - r)); 
        } return fact(n) / (fact(r) * 
                        fact(n - r)); fact(n) / (fact(r) * 
                        fact(n - r)) fact(n) fact n (fact(r) * 
                        fact(n - r)) fact(r) fact r fact(n - r) fact n - r n r int n n int r r static long fact(int n) 
        { 
            long res = 1; 
            for (int i = 2; i <= n; i++) 
                res = res * i; 
            return res; 
        } fact { 
            long res = 1; 
            for (int i = 2; i <= n; i++) 
                res = res * i; 
            return res; 
        } long res = 1; res 1 for (int i = 2; i <= n; i++) 
                res = res * i; int i = 2; int i = 2; i 2 i <= n i n i++ i++ i res = res * i; res = res * i res res * i res i return res; res int n n public static long count(long k) {
            return k * (k - 1) / 2;
        } count {
            return k * (k - 1) / 2;
        } return k * (k - 1) / 2; k * (k - 1) / 2 k * (k - 1) k (k - 1) k 1 2 long k k static boolean isPrime(int n) { 
            // if(n==1) return false; 
            if(n==2) return true;
            if (n%2==0) return false; 
            
            for(int i=3;i<=Math.sqrt(n);i+=2) { 
                if(n%i==0) 
                    return false; 
            } 
            return true; 
        } isPrime { 
            // if(n==1) return false; 
            if(n==2) return true;
            if (n%2==0) return false; 
            
            for(int i=3;i<=Math.sqrt(n);i+=2) { 
                if(n%i==0) 
                    return false; 
            } 
            return true; 
        } if(n==2) return true; n==2 n 2 return true; true if (n%2==0) return false; n%2==0 n%2 n 2 0 return false; false for(int i=3;i<=Math.sqrt(n);i+=2) { 
                if(n%i==0) 
                    return false; 
            } int i=3; int i=3; i 3 i<=Math.sqrt(n) i Math.sqrt(n) Math.sqrt Math n i+=2 i+=2 i 2 { 
                if(n%i==0) 
                    return false; 
            } { 
                if(n%i==0) 
                    return false; 
            } if(n%i==0) 
                    return false; n%i==0 n%i n i 0 return false; false return true; true int n n static int negMod(int n){
            int a = (n % 1000000007 + 1000000007) % 1000000007;
            return a;
        } negMod {
            int a = (n % 1000000007 + 1000000007) % 1000000007;
            return a;
        } int a = (n % 1000000007 + 1000000007) % 1000000007; a (n % 1000000007 + 1000000007) % 1000000007 (n % 1000000007 + 1000000007) n % 1000000007 n 1000000007 1000000007 1000000007 return a; a int n n static String value(int val) {
            String bin = ""; 
                    while (val > 0)  
                    { 
                        if (val % 2 == 1) 
                        { 
                            bin += '1'; 
                        } 
                        else
                            bin += '0'; 
                        val /= 2; 
                    } 
                    bin = reverse(bin); 
                    return bin;
                } value {
            String bin = ""; 
                    while (val > 0)  
                    { 
                        if (val % 2 == 1) 
                        { 
                            bin += '1'; 
                        } 
                        else
                            bin += '0'; 
                        val /= 2; 
                    } 
                    bin = reverse(bin); 
                    return bin;
                } String bin = ""; bin "" while (val > 0)  
                    { 
                        if (val % 2 == 1) 
                        { 
                            bin += '1'; 
                        } 
                        else
                            bin += '0'; 
                        val /= 2; 
                    } val > 0 val 0 { 
                        if (val % 2 == 1) 
                        { 
                            bin += '1'; 
                        } 
                        else
                            bin += '0'; 
                        val /= 2; 
                    } if (val % 2 == 1) 
                        { 
                            bin += '1'; 
                        } 
                        else
                            bin += '0'; val % 2 == 1 val % 2 val 2 1 { 
                            bin += '1'; 
                        } bin += '1' bin '1' bin += '0' bin '0' val /= 2 val 2 bin = reverse(bin) bin reverse(bin) reverse bin return bin; bin int val val public static int sum(long x) {
                    int sum = 0;
                    while (x > 0) {
                        sum += x % 10;
                        x /= 10;
                    }
                    return sum;
                } sum {
                    int sum = 0;
                    while (x > 0) {
                        sum += x % 10;
                        x /= 10;
                    }
                    return sum;
                } int sum = 0; sum 0 while (x > 0) {
                        sum += x % 10;
                        x /= 10;
                    } x > 0 x 0 {
                        sum += x % 10;
                        x /= 10;
                    } sum += x % 10 sum x % 10 x 10 x /= 10 x 10 return sum; sum long x x public static void main(String[] args) throws Exception 
    {   
       
        OutputStream outputStream = System.out;
        PrintWriter w = new PrintWriter(outputStream);
        FastReader sc = new FastReader();
        // Scanner sc = new Scanner(new File("input.txt"));
        // PrintWriter out = new PrintWriter(new File("output.txt"));
        int i,j=0;
        
        int n = sc.nextInt();
        long d = sc.nextLong();
        int c = 0;
        // HashMap<Long,Long> h = new HashMap<>();
        for(i=1;i<=n;i++){
            j=0;
            long x  = sc.nextLong();
            long y  =  sc.nextLong();
            // if(h.containsKey(x)){
            //     if(h.get(x) == y) {j=1;continue;}
            // }
            // if(j==1) continue;
            // h.put(x,y);
            double f = Math.sqrt(x*x + y*y);
            // w.println(f);
            if(f<=d) c++;
        }
        w.print(c);
        w.close();
     } main {   
       
        OutputStream outputStream = System.out;
        PrintWriter w = new PrintWriter(outputStream);
        FastReader sc = new FastReader();
        // Scanner sc = new Scanner(new File("input.txt"));
        // PrintWriter out = new PrintWriter(new File("output.txt"));
        int i,j=0;
        
        int n = sc.nextInt();
        long d = sc.nextLong();
        int c = 0;
        // HashMap<Long,Long> h = new HashMap<>();
        for(i=1;i<=n;i++){
            j=0;
            long x  = sc.nextLong();
            long y  =  sc.nextLong();
            // if(h.containsKey(x)){
            //     if(h.get(x) == y) {j=1;continue;}
            // }
            // if(j==1) continue;
            // h.put(x,y);
            double f = Math.sqrt(x*x + y*y);
            // w.println(f);
            if(f<=d) c++;
        }
        w.print(c);
        w.close();
     } OutputStream outputStream = System.out; outputStream System.out System System.out PrintWriter w = new PrintWriter(outputStream); w new PrintWriter(outputStream) FastReader sc = new FastReader(); sc new FastReader() int i i j=0; j 0 int n = sc.nextInt(); n sc.nextInt() sc.nextInt sc long d = sc.nextLong(); d sc.nextLong() sc.nextLong sc int c = 0; c 0 for(i=1;i<=n;i++){
            j=0;
            long x  = sc.nextLong();
            long y  =  sc.nextLong();
            // if(h.containsKey(x)){
            //     if(h.get(x) == y) {j=1;continue;}
            // }
            // if(j==1) continue;
            // h.put(x,y);
            double f = Math.sqrt(x*x + y*y);
            // w.println(f);
            if(f<=d) c++;
        } i=1; i=1 i 1 i<=n i n i++ i++ i {
            j=0;
            long x  = sc.nextLong();
            long y  =  sc.nextLong();
            // if(h.containsKey(x)){
            //     if(h.get(x) == y) {j=1;continue;}
            // }
            // if(j==1) continue;
            // h.put(x,y);
            double f = Math.sqrt(x*x + y*y);
            // w.println(f);
            if(f<=d) c++;
        } {
            j=0;
            long x  = sc.nextLong();
            long y  =  sc.nextLong();
            // if(h.containsKey(x)){
            //     if(h.get(x) == y) {j=1;continue;}
            // }
            // if(j==1) continue;
            // h.put(x,y);
            double f = Math.sqrt(x*x + y*y);
            // w.println(f);
            if(f<=d) c++;
        } j=0 j 0 long x  = sc.nextLong(); x sc.nextLong() sc.nextLong sc long y  =  sc.nextLong(); y sc.nextLong() sc.nextLong sc double f = Math.sqrt(x*x + y*y); f Math.sqrt(x*x + y*y) Math.sqrt Math x*x + y*y x*x x x y*y y y if(f<=d) c++; f<=d f d c++ c w.print(c) w.print w c w.close() w.close w String[] args args static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
        
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } FastReader BufferedReader br; br StringTokenizer st; st public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } FastReader { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } br = new BufferedReader(new
                     InputStreamReader(System.in)) br new BufferedReader(new
                     InputStreamReader(System.in)) String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } next { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } st == null || !st.hasMoreElements() st == null st null !st.hasMoreElements() st.hasMoreElements() st.hasMoreElements st { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } IOException  e { 
                    e.printStackTrace(); 
                } e.printStackTrace() e.printStackTrace e { 
                    st = new StringTokenizer(br.readLine()); 
                } st = new StringTokenizer(br.readLine()) st new StringTokenizer(br.readLine()) return st.nextToken(); st.nextToken() st.nextToken st int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } nextInt { 
            return Integer.parseInt(next()); 
        } return Integer.parseInt(next()); Integer.parseInt(next()) Integer.parseInt Integer next() next long nextLong() 
        { 
            return Long.parseLong(next()); 
        } nextLong { 
            return Long.parseLong(next()); 
        } return Long.parseLong(next()); Long.parseLong(next()) Long.parseLong Long next() next double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } nextDouble { 
            return Double.parseDouble(next()); 
        } return Double.parseDouble(next()); Double.parseDouble(next()) Double.parseDouble Double next() next String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } nextLine { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } String str = ""; str "" try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } catch (IOException e) 
            { 
                e.printStackTrace(); 
            } IOException e { 
                e.printStackTrace(); 
            } e.printStackTrace() e.printStackTrace e { 
                str = br.readLine(); 
            } str = br.readLine() str br.readLine() br.readLine br return str; str public class Main 
{ 
    static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
        
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } 

   

    static int binarySearch(int a[],int k,int l,int h){
        
        while(l<=h){
         int mid = (l+h)/2;
         if(a[mid]==k) return mid;
         else if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1;
    }
        
        return -1;
    }



    static String reverse(String input)  
    { 
        char[] a = input.toCharArray(); 
        int l, r = 0; 
        r = a.length - 1; 
  
        for (l = 0; l < r; l++, r--) 
        { 
            // Swap values of l and r  
            char temp = a[l]; 
            a[l] = a[r]; 
            a[r] = temp; 
        } 
        return String.valueOf(a); 
    } 

   
    
    static int gcd(int a, int b) 
    { 
        // Everything divides 0  
        if (a == 0) 
          return b; 
        if (b == 0) 
          return a; 
       if (a == b) 
            return a; 
       if (a > b) 
            return gcd(a-b, b); 
        return gcd(a, b-a); 
    } 

    static int lcm(int a, int b) 
    { 
        return (a*b)/gcd(a, b); 
    } 

    static int solve(int A, int B) 
   { 
    int count = 0; 
    for (int i = 0; i < 21; i++) { 
        if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } 
    } 
  
   return count;
  } 

        static long nCr(int n, int r) 
        { 
            return fact(n) / (fact(r) * 
                        fact(n - r)); 
        } 
        
        
        static long fact(int n) 
        { 
            long res = 1; 
            for (int i = 2; i <= n; i++) 
                res = res * i; 
            return res; 
        } 
        
        public static long count(long k) {
            return k * (k - 1) / 2;
        }

        static boolean isPrime(int n) { 
            // if(n==1) return false; 
            if(n==2) return true;
            if (n%2==0) return false; 
            
            for(int i=3;i<=Math.sqrt(n);i+=2) { 
                if(n%i==0) 
                    return false; 
            } 
            return true; 
        }

        static int negMod(int n){
            int a = (n % 1000000007 + 1000000007) % 1000000007;
            return a;
        }
        static String value(int val) {
            String bin = ""; 
                    while (val > 0)  
                    { 
                        if (val % 2 == 1) 
                        { 
                            bin += '1'; 
                        } 
                        else
                            bin += '0'; 
                        val /= 2; 
                    } 
                    bin = reverse(bin); 
                    return bin;
                }

                public static int sum(long x) {
                    int sum = 0;
                    while (x > 0) {
                        sum += x % 10;
                        x /= 10;
                    }
                    return sum;
                }
             
        
        static int mod=1000003;
        public static void main(String[] args) throws Exception 
    {   
       
        OutputStream outputStream = System.out;
        PrintWriter w = new PrintWriter(outputStream);
        FastReader sc = new FastReader();
        // Scanner sc = new Scanner(new File("input.txt"));
        // PrintWriter out = new PrintWriter(new File("output.txt"));
        int i,j=0;
        
        int n = sc.nextInt();
        long d = sc.nextLong();
        int c = 0;
        // HashMap<Long,Long> h = new HashMap<>();
        for(i=1;i<=n;i++){
            j=0;
            long x  = sc.nextLong();
            long y  =  sc.nextLong();
            // if(h.containsKey(x)){
            //     if(h.get(x) == y) {j=1;continue;}
            // }
            // if(j==1) continue;
            // h.put(x,y);
            double f = Math.sqrt(x*x + y*y);
            // w.println(f);
            if(f<=d) c++;
        }
        w.print(c);
        w.close();
     }

       
} public class Main 
{ 
    static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
        
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } 

   

    static int binarySearch(int a[],int k,int l,int h){
        
        while(l<=h){
         int mid = (l+h)/2;
         if(a[mid]==k) return mid;
         else if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1;
    }
        
        return -1;
    }



    static String reverse(String input)  
    { 
        char[] a = input.toCharArray(); 
        int l, r = 0; 
        r = a.length - 1; 
  
        for (l = 0; l < r; l++, r--) 
        { 
            // Swap values of l and r  
            char temp = a[l]; 
            a[l] = a[r]; 
            a[r] = temp; 
        } 
        return String.valueOf(a); 
    } 

   
    
    static int gcd(int a, int b) 
    { 
        // Everything divides 0  
        if (a == 0) 
          return b; 
        if (b == 0) 
          return a; 
       if (a == b) 
            return a; 
       if (a > b) 
            return gcd(a-b, b); 
        return gcd(a, b-a); 
    } 

    static int lcm(int a, int b) 
    { 
        return (a*b)/gcd(a, b); 
    } 

    static int solve(int A, int B) 
   { 
    int count = 0; 
    for (int i = 0; i < 21; i++) { 
        if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } 
    } 
  
   return count;
  } 

        static long nCr(int n, int r) 
        { 
            return fact(n) / (fact(r) * 
                        fact(n - r)); 
        } 
        
        
        static long fact(int n) 
        { 
            long res = 1; 
            for (int i = 2; i <= n; i++) 
                res = res * i; 
            return res; 
        } 
        
        public static long count(long k) {
            return k * (k - 1) / 2;
        }

        static boolean isPrime(int n) { 
            // if(n==1) return false; 
            if(n==2) return true;
            if (n%2==0) return false; 
            
            for(int i=3;i<=Math.sqrt(n);i+=2) { 
                if(n%i==0) 
                    return false; 
            } 
            return true; 
        }

        static int negMod(int n){
            int a = (n % 1000000007 + 1000000007) % 1000000007;
            return a;
        }
        static String value(int val) {
            String bin = ""; 
                    while (val > 0)  
                    { 
                        if (val % 2 == 1) 
                        { 
                            bin += '1'; 
                        } 
                        else
                            bin += '0'; 
                        val /= 2; 
                    } 
                    bin = reverse(bin); 
                    return bin;
                }

                public static int sum(long x) {
                    int sum = 0;
                    while (x > 0) {
                        sum += x % 10;
                        x /= 10;
                    }
                    return sum;
                }
             
        
        static int mod=1000003;
        public static void main(String[] args) throws Exception 
    {   
       
        OutputStream outputStream = System.out;
        PrintWriter w = new PrintWriter(outputStream);
        FastReader sc = new FastReader();
        // Scanner sc = new Scanner(new File("input.txt"));
        // PrintWriter out = new PrintWriter(new File("output.txt"));
        int i,j=0;
        
        int n = sc.nextInt();
        long d = sc.nextLong();
        int c = 0;
        // HashMap<Long,Long> h = new HashMap<>();
        for(i=1;i<=n;i++){
            j=0;
            long x  = sc.nextLong();
            long y  =  sc.nextLong();
            // if(h.containsKey(x)){
            //     if(h.get(x) == y) {j=1;continue;}
            // }
            // if(j==1) continue;
            // h.put(x,y);
            double f = Math.sqrt(x*x + y*y);
            // w.println(f);
            if(f<=d) c++;
        }
        w.print(c);
        w.close();
     }

       
} Main
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;
import java.util.Arrays;
import java.util.ArrayList;
import java.lang.Math; 
import java.util.Arrays;
import java.util.Comparator;
 
 
 
public class Main 
{ 
    static class FastReader 
    { 
        BufferedReader br; 
        StringTokenizer st; 
  
        public FastReader() 
        { 
            br = new BufferedReader(new
                     InputStreamReader(System.in)); 
        } 
  
        String next() 
        { 
            while (st == null || !st.hasMoreElements()) 
            { 
                try
                { 
                    st = new StringTokenizer(br.readLine()); 
                } 
                catch (IOException  e) 
                { 
                    e.printStackTrace(); 
                } 
            } 
            return st.nextToken(); 
        } 
  
        int nextInt() 
        { 
            return Integer.parseInt(next()); 
        } 
  
        long nextLong() 
        { 
            return Long.parseLong(next()); 
        } 
  
        double nextDouble() 
        { 
            return Double.parseDouble(next()); 
        } 
        
  
        String nextLine() 
        { 
            String str = ""; 
            try
            { 
                str = br.readLine(); 
            } 
            catch (IOException e) 
            { 
                e.printStackTrace(); 
            } 
            return str; 
        } 
    } 

   

    static int binarySearch(int a[],int k,int l,int h){
        
        while(l<=h){
         int mid = (l+h)/2;
         if(a[mid]==k) return mid;
         else if(a[mid]>k) h=mid-1;
         else if(a[mid]<k) l =mid+1;
    }
        
        return -1;
    }



    static String reverse(String input)  
    { 
        char[] a = input.toCharArray(); 
        int l, r = 0; 
        r = a.length - 1; 
  
        for (l = 0; l < r; l++, r--) 
        { 
            // Swap values of l and r  
            char temp = a[l]; 
            a[l] = a[r]; 
            a[r] = temp; 
        } 
        return String.valueOf(a); 
    } 

   
    
    static int gcd(int a, int b) 
    { 
        // Everything divides 0  
        if (a == 0) 
          return b; 
        if (b == 0) 
          return a; 
       if (a == b) 
            return a; 
       if (a > b) 
            return gcd(a-b, b); 
        return gcd(a, b-a); 
    } 

    static int lcm(int a, int b) 
    { 
        return (a*b)/gcd(a, b); 
    } 

    static int solve(int A, int B) 
   { 
    int count = 0; 
    for (int i = 0; i < 21; i++) { 
        if (((A >> i) & 1) != ((B >> i) & 1)) { 
            count++; 
        } 
    } 
  
   return count;
  } 

        static long nCr(int n, int r) 
        { 
            return fact(n) / (fact(r) * 
                        fact(n - r)); 
        } 
        
        
        static long fact(int n) 
        { 
            long res = 1; 
            for (int i = 2; i <= n; i++) 
                res = res * i; 
            return res; 
        } 
        
        public static long count(long k) {
            return k * (k - 1) / 2;
        }

        static boolean isPrime(int n) { 
            // if(n==1) return false; 
            if(n==2) return true;
            if (n%2==0) return false; 
            
            for(int i=3;i<=Math.sqrt(n);i+=2) { 
                if(n%i==0) 
                    return false; 
            } 
            return true; 
        }

        static int negMod(int n){
            int a = (n % 1000000007 + 1000000007) % 1000000007;
            return a;
        }
        static String value(int val) {
            String bin = ""; 
                    while (val > 0)  
                    { 
                        if (val % 2 == 1) 
                        { 
                            bin += '1'; 
                        } 
                        else
                            bin += '0'; 
                        val /= 2; 
                    } 
                    bin = reverse(bin); 
                    return bin;
                }

                public static int sum(long x) {
                    int sum = 0;
                    while (x > 0) {
                        sum += x % 10;
                        x /= 10;
                    }
                    return sum;
                }
             
        
        static int mod=1000003;
        public static void main(String[] args) throws Exception 
    {   
       
        OutputStream outputStream = System.out;
        PrintWriter w = new PrintWriter(outputStream);
        FastReader sc = new FastReader();
        // Scanner sc = new Scanner(new File("input.txt"));
        // PrintWriter out = new PrintWriter(new File("output.txt"));
        int i,j=0;
        
        int n = sc.nextInt();
        long d = sc.nextLong();
        int c = 0;
        // HashMap<Long,Long> h = new HashMap<>();
        for(i=1;i<=n;i++){
            j=0;
            long x  = sc.nextLong();
            long y  =  sc.nextLong();
            // if(h.containsKey(x)){
            //     if(h.get(x) == y) {j=1;continue;}
            // }
            // if(j==1) continue;
            // h.put(x,y);
            double f = Math.sqrt(x*x + y*y);
            // w.println(f);
            if(f<=d) c++;
        }
        w.print(c);
        w.close();
     }

       
}



// System.out.println();

        
    
    

