fun main(args: Array<String>) {
    val s = readLine()!!
    val (n, a, b, c, d) = s.split(" ").map(String::toLong)        // 3≤N≤500000, 0≤AB≤10^9, 0≤C≤D≤10^9


    val difference = b - a
    var result = false
    // n-1回値の変更がある。
    // そのうち値の増える変更がincrement回あれば減る変更は、n-1 - increment回ある。
    for (increment in 0..n-1) {
        val decrement = n - 1 - increment
        val max = increment * d - decrement * c
        val min = increment * c - decrement * d
        if (difference in min..max) {
            result = true
            break
        }
    }

    println(if (result) "YES" else "NO")
}
