#include #define mp make_pair #define mt make_tuple #define pb push_back #define rep(i, n) for (int i = 0; i < (n); i++) using namespace std; typedef long long ll; typedef unsigned long long ull; typedef pair pii; typedef pair pll; const int INF = 1 << 29; const double EPS = 1e-9; const int MOD = 100000007; const int dx[] = {1, 0, -1, 0}, dy[] = {0, -1, 0, 1}; int H,A,D; double dp[100100]; int main() { cin >> H >> A >> D; fill(dp, dp + 100100, INF); dp[0] = 0; for (int i = 1; i <= H; i++){ if (i - A >= 0 && dp[i - A] != INF){ dp[i] = min(dp[i], dp[i - A] + 1); } if (i - D >= 0 && dp[i - D] != INF){ dp[i] = min(dp[i], dp[i - D] + 1.5); } } cout << dp[H] << endl; return 0; }