#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 1000;
int n, w, v[maxn], x[maxn];
bool cmp(pair<double, double> u, pair<double, double> v) {
  if (u.first == v.first) return u.second > v.second;
  return u.first < v.first;
}
pair<double, double> a[maxn], cur[maxn];
long long ans = 0;
void calc(int l, int r) {
  if (l == r) return;
  int mid = (l + r) / 2;
  calc(l, mid);
  calc(mid + 1, r);
  int pt1 = l, pt2 = mid + 1, pt3 = l;
  while (pt1 <= mid && pt2 <= r) {
    if (a[pt1].second < a[pt2].second) {
      cur[pt3++] = a[pt1];
      pt1++;
    } else {
      cur[pt3++] = a[pt2];
      ans += mid - pt1 + 1;
      pt2++;
    }
  }
  while (pt1 <= mid) {
    cur[pt3++] = a[pt1];
    pt1++;
  }
  while (pt2 <= r) {
    cur[pt3++] = a[pt2];
    pt2++;
  }
  for (int i = l; i <= r; i++) a[i] = cur[i];
}
int main() {
  ios::sync_with_stdio(false);
  cin >> n >> w;
  for (int i = 1; i <= n; i++) cin >> x[i] >> v[i];
  for (int i = 1; i <= n; i++) {
    a[i].first = (double)(v[i] - w) / (double)x[i];
    a[i].second = (double)(v[i] + w) / (double)x[i];
  }
  sort(a + 1, a + n + 1, cmp);
  calc(1, n);
  cout << ans << endl;
  return 0;
}
