
from ..utils import DummyObject, requires_backends



class       a_   ( metaclass=_a						):
			a  : Tuple				      =       ['''torch''', '''transformers''', '''invisible_watermark''']






			def __init__(			self							, *__UpperCamelCase							, **__UpperCamelCase     ):
									requires_backends(self							, ["""torch""", """transformers""", """invisible_watermark"""]     )






			@classmethod
			def       UpperCamelCase_							(			cls							, *__UpperCamelCase							, **__UpperCamelCase     ):
									requires_backends(cls							, ["""torch""", """transformers""", """invisible_watermark"""]     )






			@classmethod
			def       UpperCamelCase_							(			cls							, *__UpperCamelCase							, **__UpperCamelCase     ):
									requires_backends(cls							, ["""torch""", """transformers""", """invisible_watermark"""]     )







class       a_   ( metaclass=_a						):
			a  : str				      =       ['''torch''', '''transformers''', '''invisible_watermark''']






			def __init__(			self							, *__UpperCamelCase							, **__UpperCamelCase     ):
									requires_backends(self							, ["""torch""", """transformers""", """invisible_watermark"""]     )






			@classmethod
			def       UpperCamelCase_							(			cls							, *__UpperCamelCase							, **__UpperCamelCase     ):
									requires_backends(cls							, ["""torch""", """transformers""", """invisible_watermark"""]     )






			@classmethod
			def       UpperCamelCase_							(			cls							, *__UpperCamelCase							, **__UpperCamelCase     ):
									requires_backends(cls							, ["""torch""", """transformers""", """invisible_watermark"""]     )

from math import sqrt




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




def   UpperCamelCase__     (    SCREAMING_SNAKE_CASE_  :  int					)     ->    bool:
						return sum(factors(SCREAMING_SNAKE_CASE_					)					) > n




def   UpperCamelCase__     (    SCREAMING_SNAKE_CASE_  :  int					)     ->    bool:
						_lowercase									=				factors(SCREAMING_SNAKE_CASE_					)
						_lowercase									=				len(SCREAMING_SNAKE_CASE_					)
						_lowercase									=				[[0 for i in range(number + 1					)] for j in range(r + 1					)]
						for i in range(r + 1					):
												_lowercase									=				True

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

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

						return subset[r][number] != 0




def   UpperCamelCase__     (    SCREAMING_SNAKE_CASE_  :  int					)     ->    bool:
						return abundant(SCREAMING_SNAKE_CASE_					) and not semi_perfect(SCREAMING_SNAKE_CASE_					)


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