#include #include #include using namespace std; int main() { int N, X; cin >> N >> X; vector A(N), B(N); for(int i = 0; i < N; ++i) { cin >> A[i]; cin >> B[i]; } vector ansvec(X + 1, 0); for(int i = 0; i < N; ++i) { auto a = A[i]; auto b = B[i]; ansvec[a] = max(ansvec[a], b); auto left = max(a - b, 0); auto right = min(a + b, X); for(int j = a; j >= left; --j) { ansvec[j] = max(ansvec[j], b - (a - j)); } for(int j = a; j <= right; ++j) { ansvec[j] = max(ansvec[j], b - (j - a)); } } for(int i = 1; i <= X; ++i) { cout << ansvec[i] << " "; } cout << endl; }