



'''simple docstring'''







from math import sqrt







def  SCREAMING_SNAKE_CASE__ (				SCREAMING_SNAKE_CASE     ):
		SCREAMING_SNAKE_CASE_						:Tuple										=      [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  SCREAMING_SNAKE_CASE__ (				SCREAMING_SNAKE_CASE     ):
		return sum(factors(SCREAMING_SNAKE_CASE     )     ) > n







def  SCREAMING_SNAKE_CASE__ (				SCREAMING_SNAKE_CASE     ):
		SCREAMING_SNAKE_CASE_						:List[Any]										=      factors(SCREAMING_SNAKE_CASE     )
		SCREAMING_SNAKE_CASE_						:Union[str, Any]										=      len(SCREAMING_SNAKE_CASE     )
		SCREAMING_SNAKE_CASE_						:Dict										=      [[0 for i in range(number + 1     )] for j in range(r + 1     )]
		for i in range(r + 1     ):
				SCREAMING_SNAKE_CASE_						:Tuple										=      True

		for i in range(1 ,		number + 1     ):
				SCREAMING_SNAKE_CASE_						:Optional[Any]										=      False

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

		return subset[r][number] != 0







def  SCREAMING_SNAKE_CASE__ (				SCREAMING_SNAKE_CASE     ):
		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.""")



from typing import Optional

from ..utils.logging import get_logger
from .audio_classificiation import AudioClassification
from .automatic_speech_recognition import AutomaticSpeechRecognition
from .base import TaskTemplate
from .image_classification import ImageClassification
from .language_modeling import LanguageModeling
from .question_answering import QuestionAnsweringExtractive
from .summarization import Summarization
from .text_classification import TextClassification


A__										=      [
    "AutomaticSpeechRecognition",
    "AudioClassification",
    "ImageClassification",
    "LanguageModeling",
    "QuestionAnsweringExtractive",
    "Summarization",
    "TaskTemplate",
    "TextClassification",
]

A__										=      get_logger(__name__)


A__										=      {
    AutomaticSpeechRecognition.task: AutomaticSpeechRecognition,
    AudioClassification.task: AudioClassification,
    ImageClassification.task: ImageClassification,
    LanguageModeling.task: LanguageModeling,
    QuestionAnsweringExtractive.task: QuestionAnsweringExtractive,
    Summarization.task: Summarization,
    TextClassification.task: TextClassification,
}





def 				__a							(       __A						):
    SCREAMING_SNAKE_CASE__         =    task_template_dict.get("task"						)
    if task_name is None:
        logger.warning(f"Couldn't find template for task '{task_name}'. Available templates: {list(__A						)}"						)
        return None
    SCREAMING_SNAKE_CASE__         =    NAMEaTEMPLATE.get(__A						)
    return template.from_dict(__A						)


