// inputに入力データ全体が入る
function Main(input) {

  // 1行目がinput[0], 2行目がinput[1], …に入る
  let inputArray = input.split("\n");
  let input1 = inputArray[0].split(" ");
  let n = Number(input1[0])
  let d = Number(input1[1])
  let xy = inputArray.slice(1).map(v1 => v1.split(" ").map(v2 => Number(v2)))
  // var n = Number(input1[0].split(' ')[0])
  // var k = Number(input1[0].split(' ')[1])
  // var nums = input1[1].split(' ').map(function (v) { return Number(v) })

  let ans = 0

  xy.forEach(el => {
    let distance = Math.sqrt(el[0]**2 + el[1]**2)
    if(distance<=d) ans++
  });

  // console.log(n, d, xy)

  // let n = Number(input)

  // console.log(input1
  //   , n
  //   , k
  //   , nums)

  // var results = 0
  // var arrayNum = 0

  // for (var i = nums.length; i > 0; i--) {
  //   arrayNum += i
  // }

  // const retArr2 = new Array(arrayNum).fill(0).map(function (v, idx) {
  //   var getNum = 1

  //   var idx2 = idx
  //   // console.log('bg', idx, getNum)
  //   while ((idx2 - (nums.length - getNum + 1)) >= 0) {

  //     getNum++
  //     // console.log(idx2)
  //     idx2 = idx2 - (nums.length - getNum + 1)
  //     // console.log(idx2, nums.length, getNum, (nums.length - getNum + 2))
  //   }
  //   console.log('ed', idx2, getNum)


  //   const retArr = new Array(getNum).fill(null).map(function (v99, idx3) {
  //     return nums[idx2 + idx3]
  //   })


  //   if (getNum > 3) {
  //     throw new Error()
  //   }

  //   return {
  //     getNum: getNum,
  //     sum: retArr//.reduce(function (prev, curr) { return prev + curr }, 0)
  //   }
  // })

  // console.log(retArr2)

  // while (getNum < nums.length) {

  //   for (var n1 = 0; n1 < nums.length - getNum + 1; n1++) {
  //     var n = nums.length - getNum + 1
  //     var sumNums = new Array(n).fill(0)

  //     sumNums = sumNums.map(function (v, idx) {
  //       return new Array(getNum).fill(0).map(function (v2, idx2) {
  //         return nums[n1 + idx2]
  //       }).reduce(function (prev, curr) { return prev + curr }, 0)
  //     })

  //     console.log("sumNums1", sumNums)

  //     sumNums = sumNums.map(function (v3) {
  //       if ((v3 % k) === getNum) {
  //         return 1
  //       } else {
  //         return 0
  //       }
  //     }).reduce(function (prev, curr) { return prev + curr }, 0)
  //     console.log("sumNums2", sumNums)

  //     console.log("sumNums", sumNums, results)
  //     results += sumNums
  //   }

  //   getNum++
  //   console.log("getNum", getNum, nums.length, results)
  // }

  // //文字列から10進数に変換するときはparseIntを使います
  // // var a = parseInt(i[0], 10);
  // // var b = parseInt(i[1], 10);
  // // var c = parseInt(i[2], 10);
  // var i1 = i.map(v => parseInt(v, 10))

  // if (n >= 30) {
  //   console.log("Yes");
  // } else {
  //   console.log("No");
  // }

  //出力
  console.log(ans);
}

//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));