#include #include #include using namespace std; template static inline constexpr T chmax(T& variable, const T value) noexcept { if (variable < value) return (variable = value); else return variable; } static inline constexpr vector solve(const uint32_t N, const uint32_t X, const vector& A, const vector& B) { vector L(X + 1, 0); for (uint32_t i = 0; i != N; ++i) L[A[i]] = B[i]; uint32_t prev = 1; for (uint32_t i = 1; i != X + 1; ++i) prev = max(chmax(L[i], prev - 1), 1); prev = 1; for (uint32_t i = X; i != 0; --i) prev = max(chmax(L[i], prev - 1), 1); return L; } static inline void output(const uint32_t X, const vector& L) { cout << L[1]; for (uint32_t i = 2; i != X + 1; ++i) cout << ' ' << L[i]; cout << '\n'; } int main() { cin.tie(nullptr); ios::sync_with_stdio(false); uint32_t N, X, i; cin >> N >> X; vector A(N), B(N); for (i = 0; i != N; ++i) cin >> A[i] >> B[i]; output(X, solve(N, X, A, B)); return 0; }