

from math import sqrt







def      snake_case__							(  lowerCAmelCase_     ):





     """simple docstring"""







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







def      snake_case__							(  lowerCAmelCase_     ):





     """simple docstring"""







     return sum(factors(_lowercase     )     ) > n







def      snake_case__							(  lowerCAmelCase_     ):





     """simple docstring"""







     SCREAMING_SNAKE_CASE 		=factors(_lowercase     )
     SCREAMING_SNAKE_CASE 		=len(_lowercase     )
     SCREAMING_SNAKE_CASE 		=[[0 for i in range(number + 1     )] for j in range(r + 1     )]
     for i in range(r + 1     ):
          SCREAMING_SNAKE_CASE 		=True

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

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

     return subset[r][number] != 0







def      snake_case__							(  lowerCAmelCase_     ):





     """simple docstring"""







     return abundant(_lowercase     ) and not semi_perfect(_lowercase     )


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.')






'''simple docstring'''

from __future__ import annotations

_A					:     Union[str, Any]      ='''Alexander Joslin'''







def     __UpperCamelCase					(				_lowercase       )			->      int:

	if number <= 0:
		_lowercase       :							Optional[Any]  	=		f'''n must be greater than 0. Got n = {number}'''
		raise ValueError(_lowercase       )

	_lowercase       :							List[str]  	=		[number + 1] * (number + 1)

	# starting position
	_lowercase       :							str  	=		0
	for i in range(1,					_lowercase       ):
		_lowercase       :							Union[str, Any]  	=		min(table[i + 1],					table[i] + 1       )
		# check if out of bounds
		if i * 2 <= number:
			_lowercase       :							Optional[Any]  	=		min(table[i * 2],					table[i] + 1       )
		# check if out of bounds
		if i * 3 <= number:
			_lowercase       :							Any  	=		min(table[i * 3],					table[i] + 1       )
	return table[number]


if __name__ == "__main__":
		import doctest

		doctest.testmod()
