#include <bits/stdc++.h>
using i64 = long long;
using PII = std::pair<int, int>;
const int N = 1e4+10;
int c[N], n, m;
PII a[N];
int lowbit(int x) { return x & -x; }
i64 ask(int x) {
i64 y = 0;
for (; x; x -= lowbit(x)) y += c[x];
return y;
}
void insert(int x, int y) {
for (; x < N; x += lowbit(x)) c[x] += y;
}
int main() {
freopen("Convoluted_Intervals.in", "r", stdin);
freopen("Convoluted_Intervals.out", "w", stdout);
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
std::cin >> n >> m;
for (int i = 1; i <= n; ++ i) {
auto& [x, y] = a[i];
std::cin >> x >> y;
}
for (int i = 1; i <= n; ++ i) {
for (int j = 1; j <= n; ++ j) {
auto [x1, y1] = a[i];
auto [x2, y2] = a[j];
insert(x1 + x2, 1);
insert(y1 + y2 + 1, -1);
}
}
for (int i = 0; i <= 2 * m; ++ i) {
std::cout << ask(i) << '\n';
}
return 0;
}