1class Solution:2def nthSuperUglyNumber(self, n: int, primes: List[int]) -> int:3prime_nums = len(primes)4index = [1] * prime_nums5ret = [1] * (n + 1)6for i in range(2, n + 1):7ret[i] = min(primes[j] * ret[index[j]] for j in range(prime_nums))8for k in range(prime_nums):9if ret[i] == primes[k] * ret[index[k]]:10index[k] += 11112return ret[-1]