#include using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define REP(i,n) FOR(i,0,n) #define ALL(v) (v).begin(),(v).end() template inline bool chmax(A &a, B b) { if (a inline bool chmin(A &a, B b) { if (a>b) { a=b; return 1; } return 0; } typedef unsigned long long ull; typedef long long ll; typedef pair pii; typedef pair pll; typedef pair P; const ll INF = 1ll<<29; const ll MOD = 1000000007; const double EPS = 1e-10; double dp[10001]; int h, a, d; int main() { cin >> h >> a >> d; fill(dp, dp + h + 1, INF); dp[0] = 0; FOR(i, 1, h + 1) { if (i <= a) dp[i] = 1; else chmin(dp[i], dp[i - a] + 1); int diff = d; while (i - diff >= -d) { double cnt = ceil(diff / d) * 1.5; if (i - diff < 0) chmin(dp[i], cnt); else chmin(dp[i], dp[i - diff] + cnt); diff += d; } } printf("%.15f\n", dp[h]); return 0; }