
from __future__ import annotations

from functools import lru_cache
from math import ceil

lowerCamelCase_						     =					1_00

lowerCamelCase_						     =					set(range(3, NUM_PRIMES, 2))
primes.add(2)
lowerCamelCase_						     =					42

for prime in range(3, ceil(NUM_PRIMES**0.5), 2):
    if prime not in primes:
        continue
    primes.difference_update(set(range(prime * prime, NUM_PRIMES, prime)))






@lru_cache(maxsize=100						)
def 						__magic_name__			(   __a      :	int						):



     '''simple docstring'''




     if number_to_partition < 0:
          return set()
     elif number_to_partition == 0:
          return {1}

     UpperCamelCase__				=    set()
     UpperCamelCase__				=    42
     UpperCamelCase__				=    42

     for prime in primes:
          if prime > number_to_partition:
               continue
          for sub in partition(number_to_partition - prime						):
               ret.add(sub * prime						)

     return ret






def 						__magic_name__			(   __a      :	int = 5_000						):



     '''simple docstring'''




     for number_to_partition in range(1	,		__a						):
          if len(partition(__a						)						) > number_unique_partitions:
               return number_to_partition
     return None


if __name__ == "__main__":
    print(f'{solution() = }')







from __future__ import annotations






def 						__magic_name__			(   __a      :	list[list[int]]						):



     '''simple docstring'''




     for i in range(1	,		len(matrix[0]						)						):
          matrix[0][i] += matrix[0][i - 1]

     # preprocessing the first column
     for i in range(1	,		len(__a						)						):
          matrix[i][0] += matrix[i - 1][0]

     # updating the path cost for current position
     for i in range(1	,		len(__a						)						):
          for j in range(1	,		len(matrix[0]						)						):
               matrix[i][j] += min(matrix[i - 1][j]	,		matrix[i][j - 1]						)

     return matrix[-1][-1]


if __name__ == "__main__":
    import doctest

    doctest.testmod()





