//u64_Normal-2_rep3暫定 #define _GLIBCXX_DEBUG #define ll long long #define u64 uint64_t #define rep(a, b, c) for(int i = a; i < b; i += c) #define rep2(a, b, c) for(int j = a; j < b; j += c) #define rep3(a, b, c) for(int k = a; k < b; k += c) #include using namespace std; using Graph = vector>; void p(auto a){ cout << a; } void ps(auto a){ cout << a << " "; } void ps(){ cout << " "; } void pl(auto a){ cout << a << endl; } void pl(){ cout << endl; } void fix15(){ cout << fixed << setprecision(15); } void YES(){ pl("YES"); } void NO(){ pl("NO"); } void Yes(){ pl("Yes"); } void No(){ pl("No"); } void yes(){ pl("yes"); } void no(){ pl("no"); } //Normal-2 int main(){ int N, X; cin >> N >> X; vector P(1010, 0); rep(0, N, 1){ int A, B; cin >> A >> B; rep2(0, 1001, 1){ int lig = max(B- abs(j-A), 0); P[j] = max(P[j], lig); } } rep(1, X+1, 1){ if(i != 1) ps(); p(P[i]); } pl(); }