let rec position limit v w relXs t =
    let relVs = [v+w; v-w; -v+w; -v-w]
    if t = limit then "NO"
    elif List.contains 0 relXs then "YES"
    else
        let newRelXs = [ for relX in relXs do
                           for relV in relVs do
                             yield relX + relV] |> List.distinct
        if List.contains 0 newRelXs then "YES"
        else
            let maxV = List.max relVs
            let newRelXs1 = newRelXs |> List.filter (fun x -> (abs x) <= maxV)
            printfn "t = %d: newRelX1: %A" t newRelXs1
            position limit v w newRelXs1 (t+1)

//let input = [| (1,2,3,1,3); (1,2,3,2,3); (1,2,3,3,3) |]
//let (a,v,b,w,t) = input.[2]
//position t v w [b-a] 0 |> printfn "%s"

//for (a,v,b,w,t) in input do (position t v w [b-a] 0 |> printfn "%s")

[<EntryPoint>]
let main argv =
  let av = stdin.ReadLine().Split(' ') |> Array.map int
  let a = av.[0]
  let v = av.[1]
  let bw = stdin.ReadLine().Split(' ') |> Array.map int
  let b = bw.[0]
  let w = bw.[1]
  let t = stdin.ReadLine() |> int
  position t v w [b-a] 0 |> printfn "%s"
  0