func_code_string: #include <bits/stdc++.h>   using namespace std;   int cnt[200010];   long long num[200010];   struct P {     int x, y, fl;     bool operator<(const P &hs) const {       if (x != hs.x)         return x < hs.x;       else         return y < hs.y;     }   } p[200010];   int row[200010];   int pre[200010];   int n, k;   int main() {     scanf( %d %d , &n, &k);     for (int i = 0; i < n; i++) {       scanf( %d %d , &p[i].x, &p[i].y);       p[i].fl = 1;       p[i + n].x = p[i].x + k;       p[i + n].y = p[i].y;       p[i + n].fl = -1;       row[i] = p[i].y;       row[i + n] = row[i] + k;     }     sort(row, row + 2 * n);     int ro = 0;     for (int i = 1; i < 2 * n; i++)       if (row[i] != row[ro]) row[++ro] = row[i];     sort(p, p + 2 * n);     for (int i = 0; i < 2 * n; i++) {       int y = lower_bound(row, row + ro, p[i].y) - row;       for (int j = y; row[j] < row[y] + k; j++) {         if (cnt[j] > 0)           num[cnt[j]] += (long long)(row[j + 1] - row[j]) * (p[i].x - pre[j]);         cnt[j] += p[i].fl;         pre[j] = p[i].x;       }     }     for (int i = 1; i <= n; i++) printf( %I64d%c , num[i], i == n ?   n  :    );     return 0;   }   