#ifndef _GLIBCXX_NO_ASSERT #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if __cplusplus >= 201103L #include #include #include #include #include #include #include #include #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #if __cplusplus >= 201103L #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #endif using namespace std; using i64 = int64_t; using vi = vector; using vvi = vector; constexpr i64 MOD = 1000000000; int main() { int h, a, d; cin >> h >> a >> d; vector dp(h + 1); // 体力がiのときの、攻撃回数の期待値 for (int i = 1; i <= h; i++) { dp[i] = (i - a <= 0 ? 0 : dp[i - a]) + 1; dp[i] = min(dp[i], ((i - d <= 0 ? 0 : dp[i - d]) + 1.5)); } cout << setprecision(10) << fixed << dp[h] << endl; }