
'''simple docstring'''
import doctest
from collections import deque

import numpy as np







class  __A				:
 def __init__(   self			:    str       ):



   """simple docstring"""





   __A		:     str												=		[2, 1, 2, -1]
   __A		:     Union[str, Any]												=		[1, 2, 3, 4]






 def 		lowercase_(   self			:    Dict       ):



   """simple docstring"""





   __A		:     Tuple												=		len(self.first_signal       )
   __A		:     Optional[Any]												=		len(self.second_signal       )

   __A		:     Any												=		max(lowerCamelCase				,   lowerCamelCase       )

   # create a zero matrix of max_length x max_length
   __A		:     List[str]												=		[[0] * max_length for i in range(lowerCamelCase       )]

   # fills the smaller signal with zeros to make both signals of same length
   if length_first_signal < length_second_signal:
     self.first_signal += [0] * (max_length - length_first_signal)
   elif length_first_signal > length_second_signal:
     self.second_signal += [0] * (max_length - length_second_signal)
   for i in range(lowerCamelCase       ):
     __A		:     Optional[Any]												=		deque(self.second_signal       )
     rotated_signal.rotate(lowerCamelCase       )
     for j, item in enumerate(lowerCamelCase       ):
       matrix[i][j] += item

        # multiply the matrix with the first signal
   __A		:     Optional[Any]												=		np.matmul(np.transpose(lowerCamelCase       )				,   np.transpose(self.first_signal       )       )

   # rounding-off to two decimal places
   return [round(lowerCamelCase				,   2       ) for i in final_signal]


if __name__ == "__main__":
 doctest.testmod()





'''simple docstring'''
def        A_     (						__SCREAMING_SNAKE_CASE						:  int )				->       int:





  """simple docstring"""

  __A		:     Optional[int]												=		1
  for i in range(1			,     num + 1 ):
    fact *= i
  return fact







def        A_     (						__SCREAMING_SNAKE_CASE						:  int )				->       int:





  """simple docstring"""

  __A		:     List[str]												=		0
  while number > 0:
    __A		:     Union[str, Any]												=		number % 10
    sum_of_digits += last_digit
    __A		:     int												=		number // 10  # Removing the last_digit from the given number
  return sum_of_digits







def        A_     (						__SCREAMING_SNAKE_CASE						:  int = 100 )				->       int:





  """simple docstring"""

  __A		:     Union[str, Any]												=		factorial(__SCREAMING_SNAKE_CASE )
  __A		:     Any												=		split_and_add(__SCREAMING_SNAKE_CASE )
  return result


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



