


"""simple docstring"""






from math import sqrt



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

	'''simple docstring'''


	snake_case__  :						List[Any]		=      [1]
	for i in range(2				,    int(sqrt(_UpperCAmelCase	)	) + 1				,    1	):
		if number % i == 0:
			values.append(_UpperCAmelCase	)
			if int(number // i	) != i:
				values.append(int(number // i	)	)
	return sorted(_UpperCAmelCase	)



def 			A__		(					_UpperCAmelCase    :      int	)							->	bool:

	'''simple docstring'''


	return sum(factors(_UpperCAmelCase	)	) > n



def 			A__		(					_UpperCAmelCase    :      int	)							->	bool:

	'''simple docstring'''


	snake_case__  :						Any		=      factors(_UpperCAmelCase	)
	snake_case__  :						int		=      len(_UpperCAmelCase	)
	snake_case__  :						List[Any]		=      [[0 for i in range(number + 1	)] for j in range(r + 1	)]
	for i in range(r + 1	):
		snake_case__  :						Optional[int]		=      True

	for i in range(1				,    number + 1	):
		snake_case__  :						str		=      False

	for i in range(1				,    r + 1	):
		for j in range(1				,    number + 1	):
			if j < values[i - 1]:
				snake_case__  :						Optional[Any]		=      subset[i - 1][j]
			else:
				snake_case__  :						str		=      subset[i - 1][j] or subset[i - 1][j - values[i - 1]]

	return subset[r][number] != 0



def 			A__		(					_UpperCAmelCase    :      int	)							->	bool:

	'''simple docstring'''


	return abundant(_UpperCAmelCase	) and not semi_perfect(_UpperCAmelCase	)


if __name__ == "__main__":
					import doctest

					doctest.testmod(verbose=True)
					for number in (69, 70, 71):
										print(f"{number} is {'' if weird(number) else 'not '}weird.")












from __future__ import annotations
def  __UpperCamelCase    (						snake_case      )    ->		bool:


   '''simple docstring'''







   __A    =  42
   __A    =  list(snake_case      )
   __A   ,		__A    =  _vector[:-1], int(_vector[-1]      )
   __A    =  [int(snake_case      ) for digit in __vector]

   vector.reverse()
   for i, digit in enumerate(snake_case      ):
      if i & 1 == 0:
         __A    =  digit * 2
         if doubled > 9:
            doubled -= 9
         check_digit += doubled
      else:
         check_digit += digit

   return check_digit % 1_0 == 0


if __name__ == "__main__":
    import doctest

    doctest.testmod()
    assert is_luhn("""79927398713""")
    assert not is_luhn("""79927398714""")

