local n, c, v = io.read("*n", "*n", "*n") local t = {} local inf = (c + v) * n for i = 1, n * n do t[i] = inf end t[1] = c local mmi = math.min for i_n = 1, n - 1 do for i_cp = 1, i_n do local src_idx = i_cp + (i_n - 1) * n local paste_dst_n = mmi(n, i_n + i_cp) local paste_dst_idx = i_cp + (paste_dst_n - 1) * n t[paste_dst_idx] = mmi(t[paste_dst_idx], t[src_idx] + v) local copy_dst_idx = i_n + (i_n - 1) * n t[copy_dst_idx] = mmi(t[copy_dst_idx], t[src_idx] + c) end end local minval = inf for i_cp = 1, n - 1 do local idx = i_cp + (n - 1) * n minval = mmi(minval, t[idx]) end print(minval)