N = int(input()) C,V = map(int,input().split()) # コピーを何回やるか vmax = 1000 dp = [[0]*vmax for i in range(21)] dp[0] = [1]*vmax for i in range(20): for j in range(vmax): pmoji = dp[i][j] if pmoji >= N: continue for k in range(j,vmax): dp[i+1][k] = max(dp[i+1][k],dp[i][j]+(k-j)*pmoji) cost = float('INF') for i in range(21): for j in range(vmax): if dp[i][j] >= N: cost = min(cost,i*C+j*V) print(cost)