//https://ncode.syosetu.com/n4830bu/274/ #include using namespace std; int main() { int N, M; cin >> N >> M; priority_queue, vector>, greater<>> que; for (int i = 0; i < N; i++) { int l, r; cin >> l >> r; if (l - 1 > M - 1 - r) { l = M - 1 - l; r = M - 1 - r; swap(l, r); } r++; que.push({l, r}); } int maine = 0; while (!que.empty()) { auto [l, r] = que.top(); que.pop(); if (maine <= l) { maine = r; continue; } r--; l = M - 1 - l; r = M - 1 - r; swap(l, r); r++; if (maine <= l) que.push({l, r}); else { cout << "NO" << endl; return 0; } } cout << "YES" << endl; return 0; }