






from __future__ import annotations







class  _lowercase   :
      def __init__(     self				,			a				,			a   ):
       snake_case__  :    Union[str, Any]							       =text, pattern
       snake_case__  :    Optional[Any]							       =len(UpperCAmelCase_   ), len(UpperCAmelCase_   )
      def 						lowercase__					(     self				,			a   ):

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

       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 						lowercase__					(     self   ):
       # searches pattern in text and returns index positions
       snake_case__  :    str							       =[]
       for i in range(self.textLen - self.patLen + 1   ):
        snake_case__  :    Tuple							       =self.mismatch_in_text(UpperCAmelCase_   )
        if mismatch_index == -1:
         positions.append(UpperCAmelCase_   )
        else:
         snake_case__  :    Tuple							       =self.match_in_pattern(self.text[mismatch_index]   )
         snake_case__  :    str							       =(
             mismatch_index - match_index
         )  # shifting index lgtm [py/multiple-definition]
       return positions




__lowerCamelCase	:		Any										=   """ABAABA"""
__lowerCamelCase	:		str										=   """AB"""
__lowerCamelCase	:		Any										=   BoyerMooreSearch(text, pattern)
__lowerCamelCase	:		str										=   bms.bad_character_heuristic()

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













def 			A__							(      _a  :					Any		,  _a  :					Optional[Any]		,  _a  :					int		,  _a  :					Any	):





 '''simple docstring'''







 if height >= 1:
  move_tower(height - 1		,  _a		,  _a		,  _a	)
  move_disk(_a		,  _a	)
  move_tower(height - 1		,  _a		,  _a		,  _a	)







def 			A__							(      _a  :					Optional[int]		,  _a  :					str	):





 '''simple docstring'''







 print("""moving disk from"""		,  _a		,  """to"""		,  _a	)







def 			A__							(      ):





 '''simple docstring'''







 snake_case__  :    Dict							       =int(input("""Height of hanoi: """	).strip()	)
 move_tower(_a		,  """A"""		,  """B"""		,  """C"""	)


if __name__ == "__main__":
       main()





