input: from typing import List
  from math import gcd
  from bisect import bisect_left
  def lcm(a: int, b: int) -> int:
      return a * b // gcd(a, b)
  def find_kth_amount(coins: List[int], k: int) -> int:
      """
      Given an integer array coins which represents coins of various denominations and an integer k.
  
      Each denomination of coin is available in an unlimited quantity, but combining coins of different denominations is not allowed.
  
      Return the kth smallest sum that can be created using these coins.
  
      Examples:
      >>> coins = [3,6,9], k = 3
      9
      >>> coins = [5,2], k = 7
      12
  
      Constraints:
      1 <= coins.length <= 15
      1 <= coins[i] <= 25
      1 <= k <= 2 * 10^9
      coins contains pairwise distinct integers.
      """
output:     
      amounts = sorted(list(set([c * i for c in coins for i in range(1, k + 1)])))
      return amounts[k - 1]
  