#include #ifdef CHECK_ int n, m, x, y; void load() { n = get(); m = get(); x = get(); y = get(); } int f(int x) { x -= 1; x %= 2 * m; return x - (x / m) * (2 * (x - m) + 1); } int main() { load(); put(f(x) == f(y) ? "YES" : "NO"); return 0; } #else template T get() { return 0; } template<> int get() { int x; scanf("%d", &x); return x; } template<> long get() { long x; scanf("%ld", &x); return x; } template void put(T x) {} template<> void put(int x) { printf("%d\n", x); } template<> void put(long x) { printf("%ld\n", x); } template<> void put(std::string str) { printf("%s\n", str.c_str()); } template<> void put(const char* str) { printf("%s\n", str); } #define CHECK_ #include __FILE__ #endif