#include "bits/stdc++.h" #define _CRT_SECURE_NO_WARNINGS #define rep(i,n) for(int i = 0;i < n;i++) #define REP(i,n,k) for(int i = n;i < k;i++) #define P(p) cout << (p) << endl; #define sP(p) cout << setprecision(15) << fixed << p << endl; #define Pi pair #define IINF 1e9 #define LINF 1e18 #define vi vector using namespace std; typedef long long ll; typedef unsigned long long ull; int dx[] = { 1, 0,-1,0 }; int dy[] = { 0, 1,0,-1 }; bool isPrime(int n) { if (n <= 1)return false; if (n == 2)return true; if (n % 2 == 0)return false; for (int i = 3; i*i <= n; i += 2) { if (n%i == 0)return false; } return true; } void bubbleSort(vector v) { vector > ans; for (int i = 0; i < v.size() - 1; i++) { for (int j = v.size()-1; j > i; j--) { if (v[j]>v[j - 1]) { int t = v[j]; v[j] = v[j - 1]; v[j - 1] = t; ans.push_back(make_pair(j-1,j)); } } } P(ans.size()); rep(i, ans.size()) { cout << ans[i].first << " " << ans[i].second << endl; } } void solve() { int n, m, x, y; cin >> n >> m >> x >> y; x = x - (x / (m*2))*(m*2); y = y - (y / (m*2))*(m*2); if (x == 0)x = 1; if (y == 0)y = 1; if (x > m) { x = x - (x / m)*m; x = m - (x-1); } if (y > m) { y = y - (y / m)*m; y = m - (y-1); } if (x == y) { P("YES"); } else { P("NO"); } } int main() { solve(); return 0; }