

'''simple docstring'''






from __future__ import annotations






class 			lowercase_	:




  """simple docstring"""




  def __init__(      self   :     Optional[int]					,lowercase__   :     str					,lowercase__   :     str			):
   __lowercase  ,	__lowercase							  = text, pattern
   __lowercase  ,	__lowercase							  = len(lowercase__			), len(lowercase__			)






  def 					SCREAMING_SNAKE_CASE      (      self   :     Any					,lowercase__   :     str			):

   for i in range(self.patLen - 1					,-1					,-1			):
    if char == self.pattern[i]:
     return i
   return -1






  def 					SCREAMING_SNAKE_CASE      (      self   :     int					,lowercase__   :     int			):

   for i in range(self.patLen - 1					,-1					,-1			):
    if self.pattern[i] != self.text[current_pos + i]:
     return current_pos + i
   return -1






  def 					SCREAMING_SNAKE_CASE      (      self   :     int			):
   # searches pattern in text and returns index positions
   __lowercase							  = []
   for i in range(self.textLen - self.patLen + 1			):
    __lowercase							  = self.mismatch_in_text(lowercase__			)
    if mismatch_index == -1:
     positions.append(lowercase__			)
    else:
     __lowercase							  = self.match_in_pattern(self.text[mismatch_index]			)
     __lowercase							  = (
         mismatch_index - match_index
     )  # shifting index lgtm [py/multiple-definition]
   return positions
lowerCAmelCase__											=	'''ABAABA'''
lowerCAmelCase__											=	'''AB'''
lowerCAmelCase__											=	BoyerMooreSearch(text, pattern)
lowerCAmelCase__											=	bms.bad_character_heuristic()

if len(positions) == 0:
 print('''No match found''')
else:
 print('''Pattern found in following positions: ''')
 print(positions)


'''simple docstring'''

def 			__UpperCamelCase       (   UpperCAmelCase     ):
 lowercase__				:    Optional[int]  =					1
 for i in range(1		,     num + 1     ):
  fact *= i
 return fact
def 			__UpperCamelCase       (   UpperCAmelCase     ):
 lowercase__				:    Optional[Any]  =					0
 while number > 0:
  lowercase__				:    str  =					number % 10
  sum_of_digits += last_digit
  lowercase__				:    List[str]  =					number // 10  # Removing the last_digit from the given number
 return sum_of_digits
def 			__UpperCamelCase       (   UpperCAmelCase = 100     ):
 lowercase__				:    Optional[int]  =					factorial(UpperCAmelCase     )
 lowercase__				:    Dict  =					split_and_add(UpperCAmelCase     )
 return result


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

