#include using namespace std; using ll = long long; const ll linf=(1LL<<60) - 1; const int inf=(1LL<<30) - 1; const int mod=1000000007; const int MOD=998244353; const ll dx[] = {1, 0, -1, 0, 1, 1, -1, -1}; const ll dy[] = {0, 1, 0, -1, 1, -1, 1, -1}; #define overload4(a,b,c,d,name,...) name #define rep1(n) for(long long _=0;_ name(__VA_ARGS__) #define vv(type,name,h,...) vector name(h,vector(__VA_ARGS__)) #define vvv(type,name,h,w,...) vector name(h,vector(w,vector(__VA_ARGS__))) #define vvvv(type, name, h, w, n, ...) vector>>> name(h, vector>>(w, vector>(n, vector(__VA_ARGS__)))) struct Setting{ Setting(){ cin.tie(nullptr)->sync_with_stdio(0); fixed(cout).precision(12); } }Setting; // #define _GLIBCXX_DEBUG //----------------------------------- void solve() { int N, X; cin >> N >> X; vector A(N), B(N); rep(i, N) cin >> A[i] >> B[i]; rep(i, 1, X+1) { ll t = 0; rep(j, N){ t = max(t, max(B[j] - abs(i - A[j]), 0LL)); } cout << t << " "; } cout << endl; } int main() { int T = 1; // cin >> T; while(T--) solve(); }