fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) fun intString n = if 0 <= n then Int.toString n else "-" ^ Int.toString (abs n) fun findAns a b c d e = let fun findAnsAux deliciousness calories bacon maxHappiness = if c <= bacon then maxHappiness else findAnsAux (deliciousness + d) (calories + e) (bacon + 1) (Int.max((deliciousness + d) - (calories + e), maxHappiness)) in findAnsAux a b 0 (a - b) end val () = let val a = readInt () val b = readInt () val c = readInt () val d = readInt () val e = readInt () val ans = findAns a b c d e in print (intString ans ^ "\n") end