output_description: When the minimum fee is x yen, print the value of x.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N A B
attempt: # region header
  import sys
  import math
  from bisect import bisect_left, bisect_right, insort_left, insort_right
  from collections import defaultdict, deque, Counter
  from copy import deepcopy
  from fractions import gcd
  from functools import lru_cache, reduce
  from heapq import heappop, heappush
  from itertools import (
      accumulate,
      groupby,
      product,
      permutations,
      combinations,
      combinations_with_replacement,
  )
  from math import ceil, floor, factorial, log, sqrt, sin, cos
  from operator import itemgetter
  from string import ascii_lowercase, ascii_uppercase, digits
  
  sys.setrecursionlimit(10**7)
  rs = lambda: sys.stdin.readline().rstrip()
  ri = lambda: int(rs())
  rf = lambda: float(rs())
  rs_ = lambda: [_ for _ in rs().split()]
  ri_ = lambda: [int(_) for _ in rs().split()]
  rf_ = lambda: [float(_) for _ in rs().split()]
  INF = float("inf")
  MOD = 10**9 + 7
  PI = math.pi
  # endregion
  N, A, B = ri()
  print(min(A * N, B))
  
problem_description: Statement
  
  You are parking at a parking lot. You can choose from the following two fee
  plans:
  
    * Plan 1: The fee will be A×T yen (the currency of Japan) when you park for T hours.
    * Plan 2: The fee will be B yen, regardless of the duration.
  
  Find the minimum fee when you park for N hours.
samples: [{"input": "7 17 120", "output": "119\n    \n\n  * If you choose Plan 1, the fee will be 7\u00d717=119 yen.\n  * If you choose Plan 2, the fee will be 120 yen.\n\nThus, the minimum fee is 119 yen.\n\n* * *"}, {"input": "5 20 100", "output": "100\n    \n\nThe fee might be the same in the two plans.\n\n* * *"}, {"input": "6 18 100", "output": "100"}]