#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; int main() { cin >> H >> A >> D; vector dp(H + 1, INF); dp[0] = 0; for (int i = 0; i < H + 1; i++){ if (dp[i] == INF)continue; int d1 = min(H, i + A); dp[d1] = min(dp[d1], dp[i] + 1); int d2 = min(H, i + D); dp[d2] = min(dp[d2], dp[i] + 1.5); } cout << dp[H] << endl; return 0; }