import sequtils
template `min=`*(x,y) = x = min(x,y)
proc getchar_unlocked():char {. importc:"getchar_unlocked",header: "<stdio.h>" .}
proc scan(): int =
  while true:
    let k = getchar_unlocked()
    if k < '0': return
    result = 10 * result + k.ord - '0'.ord

let h = scan()
let a = scan()
let d = scan()
var ans = 1e10
for i in 0..<h: # i 回通常攻撃
  if h - a * i <= 0 :
    ans .min= ((h-1) div a + 1).float
    break
  ans .min= i.float + ((h - a * i - 1) div d + 1).float * 1.5
echo ans