using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace yuki0715_C { class Program { static void Main(string[] args) { var l1 = getsplit(); var l2 = getsplit(); int n = int.Parse(l1[0]); int m = int.Parse(l1[1]); int x = int.Parse(l2[0]); int y = int.Parse(l2[1]); int tc = 0; int hc = 0; while (true) { if (x - m <= 0) { tc = x; break; } x -= m; if (x - m <= 0) { tc = m - x + 1; break; } x -= m; } while (true) { if (y - m <= 0) { hc = y; break; } y -= m; if (y - m <= 0) { hc = m - y + 1; break; } y -= m; } if (tc == hc) { Console.WriteLine("YES"); } else { Console.WriteLine("NO"); } } public static string[] getsplit() { string[] x = Console.ReadLine().Split(' '); return x; } public static int getint() { int x = int.Parse(Console.ReadLine()); return x; } } }