open System
open System.Collections.Generic

module InputUtility =
    let InputTokens = new Queue<string>()

    let EnsureInput () =
        if InputTokens.Count = 0 then
            let input = Console.ReadLine ()
            let s = input.Split ([|' '|], StringSplitOptions.RemoveEmptyEntries)
            if s.Length > 0 then
                for x in s do InputTokens.Enqueue(x)
                true
            else false
        else true

    let rec ReadNext () =
        if EnsureInput () then InputTokens.Dequeue ()
        else ReadNext ()

    let ReadNextInt () = ReadNext () |> int

    let Read2Int () = ReadNextInt (), ReadNextInt ()

    let Read3Int () = ReadNextInt (), ReadNextInt (), ReadNextInt ()

    let ReadListOf f n =
        let rec loop acc = function
            | 0 -> List.rev acc
            | c -> loop ((ReadNext () |> f) :: acc) (c-1)
        loop [] n

    let MultipleCaseWithId f =
        let caseNum = ReadNextInt ()
        let rec loop index =
            if index = caseNum then ()
            else
                f index
                loop (index + 1)
        loop 0

    let MultipleCase f = MultipleCaseWithId (fun _ -> f ())

    let ReadList n =
        let rec loop acc = function
            | 0 -> List.rev acc
            | c -> loop (ReadNext () :: acc) (c-1)
        loop [] n

open InputUtility

module AGC017 =
    let private ``Moderate Differences`` () =
        let g64 = ReadNextInt >> int64
        let pn = g64 ()
        let diff =
            let a, b = Read2Int ()
            abs (b - a) |> int64
        //printfn "diff %d" diff
        let c, d = g64 (), g64 ()
        let n = pn - 1L
        let rec check i =
            if i + i > n then false
            else
                let dl, du = i * c, i * d
                let ul, uu = (n - i) * c, (n - i) * d
                let rl, ru =
                    let l, u = ul - du, uu - dl
                    if 0L < l then l, u
                    else 0L, max (-l) u
                //printfn "%d : [%d, %d] - [%d, %d] => [%d, %d]" i ul uu dl du rl ru
                if rl <= diff && diff <= ru then true
                else check (i + 1L)
        if check 0L then "YES" else "NO"
        |> printfn "%s"

    let Entry = ``Moderate Differences``

AGC017.Entry ()