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_value(denominations: List[int], k: int) -> int:
      """
      Given a list of distinct integers representing different coin denominations and an integer k.
  
      You have unlimited coins for each denomination. Mixing different denominations is not allowed.
  
      Find the k-th smallest value that can be created using these coins.
  
      Examples:
      >>> denominations = [3,6,9], k = 3
      9
      >>> denominations = [5,2], k = 7
      12
  
      Constraints:
      1 <= denominations.length <= 15
      1 <= denominations[i] <= 25
      1 <= k <= 2 * 10^9
      The list consists of unique integers.
      """
  
output:     multiples = []
      for denom in denominations:
          multiples.extend(denom * i for i in range(1, k + 1))
  
      multiples = sorted(set(multiples))
  
      return multiples[k - 1]