#include <bits/stdc++.h>
using namespace std;
const int N = 1e5;
int n;
double w;
long long ans;
struct node {
  double x, v;
  int id;
  bool operator<(const node &b) const { return fabs(x * b.v) < fabs(v * b.x); }
} a[N + 5];
struct bittree {
  int c[N + 5];
  void add(int u) {
    while (u <= n) ++c[u], u += ((u) & (-(u)));
  }
  int query(int u) {
    int ans = 0;
    while (u) ans += c[u], u -= ((u) & (-(u)));
    return ans;
  }
} T;
void work() {
  scanf("%d%lf", &n, &w);
  w += 1e-6;
  for (int i = 1; i <= n; i++) scanf("%lf%lf", &a[i].x, &a[i].v), a[i].v -= w;
  sort(a + 1, a + n + 1);
  for (int i = 1; i <= n; i++) a[i].id = i, a[i].v += w * 2.;
  sort(a + 1, a + n + 1);
  for (int i = 1; i <= n; i++) ans += i - 1 - T.query(a[i].id), T.add(a[i].id);
  printf("%I64d\n", ans);
}
int main() {
  work();
  return 0;
}
