import tempfile
import unittest

from make_student import create_student_by_copying_alternating_layers

from transformers import AutoConfig
from transformers.file_utils import cached_property
from transformers.testing_utils import require_torch


A     :  List[Any]					     =       "sshleifer/bart-tiny-random"
A     :  Union[str, Any]					     =       "patrickvonplaten/t5-tiny-random"


@require_torch
class   lowerCamelCase					(unittest.TestCase					):
  """simple docstring"""







  @cached_property
  def    __A     (							self :       List[str]   )  ->	List[str]:
        return AutoConfig.from_pretrained(__magic_name__   )







  def    __A     (							self :       Optional[int]   )  ->	str:
        SCREAMING_SNAKE_CASE_     , *SCREAMING_SNAKE_CASE_          =  create_student_by_copying_alternating_layers(__magic_name__  ,     tempfile.mkdtemp()  ,     e=1  ,     d=1   )
        self.assertEqual(student.config.num_hidden_layers  ,     1   )







  def    __A     (							self :       List[Any]   )  ->	str:
        SCREAMING_SNAKE_CASE_     , *SCREAMING_SNAKE_CASE_          =  create_student_by_copying_alternating_layers(__magic_name__  ,     tempfile.mkdtemp()  ,     e=1  ,     d=__magic_name__   )







  def    __A     (							self :       Optional[int]   )  ->	Dict:
        SCREAMING_SNAKE_CASE_     , *SCREAMING_SNAKE_CASE_          =  create_student_by_copying_alternating_layers(__magic_name__  ,     tempfile.mkdtemp()  ,     e=1  ,     d=__magic_name__   )
        self.assertEqual(student.config.encoder_layers  ,     1   )
        self.assertEqual(student.config.decoder_layers  ,     self.teacher_config.encoder_layers   )







  def    __A     (							self :       int   )  ->	Tuple:
        SCREAMING_SNAKE_CASE_     , *SCREAMING_SNAKE_CASE_          =  create_student_by_copying_alternating_layers(__magic_name__  ,     tempfile.mkdtemp()  ,     e=1  ,     d=1   )
        self.assertEqual(student.config.encoder_layers  ,     1   )
        self.assertEqual(student.config.decoder_layers  ,     1   )







  def    __A     (							self :       Union[str, Any]   )  ->	Optional[int]:
        with self.assertRaises(__magic_name__   ):
              create_student_by_copying_alternating_layers(__magic_name__  ,     tempfile.mkdtemp()  ,     e=__magic_name__  ,     d=__magic_name__   )



from math import factorial


def      a__ (		__UpperCamelCase = 1_0_0				):
      return sum(int(__UpperCamelCase				) for x in str(factorial(__UpperCamelCase				)				)				)


if __name__ == "__main__":
      print(solution(int(input("Enter the Number: ").strip())))


