from typing import Any



class 					snake_case__       :



   def __init__(				self   :   List[str]   )							->     List[Any]:




         '''simple docstring'''




         snake_case_     :			Tuple       =       []
         snake_case_     :			Union[str, Any]       =       0



   def __str__(				self   :   str   )							->     Optional[int]:




         '''simple docstring'''




         snake_case_     :			int       =       "<" + str(self.stack   )[1:-1] + ">"
         return printed



   def 					UpperCAmelCase__       (				self   :   Optional[int]			,	A__   :   Any   )							->     None:




         '''simple docstring'''




         self.stack.append(A__   )
         snake_case_     :			List[Any]       =       self.length + 1



   def 					UpperCAmelCase__       (				self   :   Dict   )							->     Any:




         '''simple docstring'''




         self.rotate(1   )
         snake_case_     :			List[Any]       =       self.stack[self.length - 1]
         snake_case_     :			Optional[Any]       =       self.stack[:-1]
         self.rotate(self.length - 1   )
         snake_case_     :			Any       =       self.length - 1
         return dequeued



   def 					UpperCAmelCase__       (				self   :   List[str]			,	A__   :   int   )							->     None:




         '''simple docstring'''




         for _ in range(A__   ):
               snake_case_     :			Optional[int]       =       self.stack[0]
               snake_case_     :			Optional[Any]       =       self.stack[1:]
               self.put(A__   )
               snake_case_     :			int       =       self.length - 1



   def 					UpperCAmelCase__       (				self   :   Dict   )							->     Any:




         '''simple docstring'''




         snake_case_     :			int       =       self.get()
         self.put(A__   )
         self.rotate(self.length - 1   )
         return front



   def 					UpperCAmelCase__       (				self   :   str   )							->     int:




         '''simple docstring'''




         return self.length




from __future__ import annotations

UpperCAmelCase							=       "Alexander Joslin"






def 					SCREAMING_SNAKE_CASE_			(		lowerCAmelCase_: int     ):

      if number <= 0:
            snake_case_     :			Dict       =       f"n must be greater than 0. Got n = {number}"
            raise ValueError(lowerCAmelCase_     )

      snake_case_     :			Tuple       =       [number + 1] * (number + 1)

      # starting position
      snake_case_     :			Union[str, Any]       =       0
      for i in range(1 ,	lowerCAmelCase_     ):
            snake_case_     :			int       =       min(table[i + 1] ,	table[i] + 1     )
            # check if out of bounds
            if i * 2 <= number:
                  snake_case_     :			Tuple       =       min(table[i * 2] ,	table[i] + 1     )
            # check if out of bounds
            if i * 3 <= number:
                  snake_case_     :			Dict       =       min(table[i * 3] ,	table[i] + 1     )
      return table[number]


if __name__ == "__main__":
     import doctest

     doctest.testmod()



