

"""simple docstring"""




def 	UpperCAmelCase__   (				A__	,    A__   )      ->      bool:




   """simple docstring"""
   lowerCamelCase__						=			len(A__   )
   lowerCamelCase__						=			[[False] * (required_sum + 1) for _ in range(arr_len + 1   )]

   # for each arr value, a sum of zero(0) can be formed by not taking any element
   # hence True/1
   for i in range(arr_len + 1   ):
      lowerCamelCase__						=			True

   # sum is not zero and set is empty then false
   for i in range(1	,    required_sum + 1   ):
      lowerCamelCase__						=			False

   for i in range(1	,    arr_len + 1   ):
      for j in range(1	,    required_sum + 1   ):
         if arr[i - 1] > j:
            lowerCamelCase__						=			subset[i - 1][j]
         if arr[i - 1] <= j:
            lowerCamelCase__						=			subset[i - 1][j] or subset[i - 1][j - arr[i - 1]]

   return subset[arr_len][required_sum]


if __name__ == "__main__":
     import doctest

     doctest.testmod()







"""simple docstring"""




def 	UpperCAmelCase__   (				A__   )      ->      list[int]:




   """simple docstring"""

   if length <= 0 or not isinstance(A__	,    A__   ):
      raise ValueError("Length must be a positive integer."   )
   return [n * (2 * n - 1) for n in range(A__   )]


if __name__ == "__main__":
     print(hexagonal_numbers(length=5))
     print(hexagonal_numbers(length=10))




