#define _USE_MATH_DEFINES #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair i_i; typedef pair ll_i; typedef pair d_i; typedef pair ll_ll; typedef pair d_d; struct edge { int u, v; ll w; }; typedef vector > grid; ll INF = LLONG_MAX / 3; ll MOD = 1000000007; ll _MOD = 1000000009; double EPS = 1e-10; ll f(ll x, ll M) { x %= (M * 2); if (x >= M) return M * 2 - 1 - x; return x; } int main() { ll N, M; cin >> N >> M; ll x, y; cin >> x >> y; x--; y--; cout << (f(x, M) == f(y, M) ? "YES" : "NO") << endl; }