const INF: f64 = 1e18; fn main() { let mut had = String::new(); std::io::stdin().read_line(&mut had).ok(); let had: Vec = had.trim().split_whitespace().map(|s| s.parse().unwrap()).collect(); let h = had[0]; let a = had[1]; let b = had[2]; let mut dp = vec![INF; h+1]; dp[0] = 0.; for i in 0..h { dp[(i+a).min(h)] = dp[(i+a).min(h)].min(dp[i] + 1.); dp[(i+b).min(h)] = dp[(i+b).min(h)].min(dp[i] + 1.5); } println!("{}", dp[h]); }