#include <bits/stdc++.h>
using namespace std;
const int N = 100100;
int n;
long long p;
double M[N];
int main() {
  scanf("%d%I64d", &n, &p);
  for (int i = 0; i < n; i++) {
    long long l, r;
    scanf("%I64d%I64d", &l, &r);
    long long z = r - l + 1;
    long long c = r / p - (l > 1 ? (l - 1) / p : 0);
    M[i] = (double)c / (double)z;
  }
  double ans = 0.0;
  for (int i = 0; i < n; i++) {
    int j = (i + 1) % n;
    ans += M[i] + M[j] - M[i] * M[j];
  }
  printf("%.10f\n", ans * 2000.0);
  return 0;
}
