func_code_string: #include <bits/stdc++.h>   using namespace std;   int l[100000 + 9], r[100000 + 9];   int n, p;   int main() {     cin >> n >> p;     for (int i = 0; i < n; i++) {       cin >> l[i] >> r[i];     }     double ans = 0;     for (int i = 0; i < n; i++) {       int j = (i + 1) % n;       int div1 = r[i] / p - (l[i] - 1) / p;       int nondiv1 = r[i] - l[i] + 1 - div1;       int div2 = r[j] / p - (l[j] - 1) / p;       int nondiv2 = r[j] - l[j] + 1 - div2;       double nondivs = 1.0 - ((double)nondiv1 / double(r[i] - l[i] + 1)) *                                  ((double)nondiv2 / double(r[j] - l[j] + 1));       ans += nondivs * 2000.0;     }     cout << fixed << setprecision(15) << ans;     return 0;   }   