fun readInt () = valOf (TextIO.scanStream (Int.scan StringCvt.DEC) TextIO.stdIn) val () = let val d = readInt () val a = readInt () val b = readInt () val ans = List.foldl (fn (x, minAcc) => Int.min(minAcc, x*a + (d-x)*b)) ((a + b) * d) (List.tabulate (d + 1, fn i => i)) in print (Int.toString ans ^ "\n") end