#include <bits/stdc++.h>
using namespace std;
int k, n, w, x, y, tot, s[100010];
pair<double, int> a[100010], c[100010];
long long ans;
int query(int x) {
  int ans = 0;
  for (; x; x -= x & -x) ans += s[x];
  return ans;
}
void modify(int x) {
  for (; x <= tot; x += x & -x) ++s[x];
}
int main() {
  scanf("%d%d", &n, &w);
  for (int i = 1; i <= n; i++) {
    scanf("%d%d", &x, &y);
    a[i].first = (double)-x / (y - w);
    c[i].first = (double)-x / (y + w);
    c[i].second = i;
    a[i].second = c[i].first;
  }
  sort(c + 1, c + n + 1);
  for (int i = 1; i <= n; i++) {
    if (c[i].first > c[i - 1].first) tot++;
    a[c[i].second].second = tot;
  }
  sort(a + 1, a + n + 1);
  for (int i = n; i;) {
    int j = i;
    while (j && a[j].first == a[i].first) j--;
    for (int k = i; k > j; k--) ans += query(a[k].second) + i - k;
    while (i > j) modify(a[i--].second);
  }
  printf("%lld\n", ans);
  return 0;
}
