# 2次元dp # dp[i番目][0 for -1, 1 for 1]での最小値 # アルゴリズムは合っていると思うがRE出たので # dp表を小さくする N, A, B = map(int, input().split()) INF = 10**10 dp_old = [B, -B] for i in range(1, N): dp_new = [min(dp_old[0]+A+B, dp_old[1]-A+B), min(dp_old[0]-A-B, dp_old[1]+A-B)] dp_old = dp_new #print(dp[i]) ans = min(dp_new) print(ans)