n, m = map(int, input().split()) lr = [tuple(map(int, input().split())) for _ in range(n)] def solve(n, m, lr): lr.sort(key=lambda x: min(x[0], m - 1 - x[1])) used = [False] * m for i in range(n): if all(not used[j] for j in range(lr[i][0], lr[i][1] + 1)): for j in range(lr[i][0], lr[i][1] + 1): used[j] = True elif all(not used[j] for j in range(m - 1 - lr[i][1], m - 1 - lr[i][0] + 1)): for j in range(m - 1 - lr[i][1], m - 1 - lr[i][0] + 1): used[j] = True else: return 0 return 1 print("YES" if solve(n, m, lr) else "NO")