

'''simple docstring'''
def 	_lowerCAmelCase (						_UpperCamelCase						:					Tuple							,			_UpperCamelCase						:					Optional[int]    )				->      List[Any]:
     """simple docstring"""




     _SCREAMING_SNAKE_CASE							   =0
     while b > 0:
          if b & 1:
               res += a

          a += a
          b >>= 1

     return res


def 	_lowerCAmelCase (						_UpperCamelCase						:					Optional[Any]							,			_UpperCamelCase						:					Optional[int]							,			_UpperCamelCase						:					Optional[int]    )				->      List[str]:
     """simple docstring"""




     _SCREAMING_SNAKE_CASE							   =0
     while b > 0:
          if b & 1:
               _SCREAMING_SNAKE_CASE							   =((res % c) + (a % c)) % c

          a += a
          b >>= 1

     return res



'''simple docstring'''
def 	_lowerCAmelCase (						_UpperCamelCase						:					int = 50    )				->      int:
     """simple docstring"""




     _SCREAMING_SNAKE_CASE							   =[[0] * 3 for _ in range(length + 1    )]

     for row_length in range(length + 1    ):
          for tile_length in range(2							,			5    ):
               for tile_start in range(row_length - tile_length + 1    ):
                    different_colour_ways_number[row_length][tile_length - 2] += (
                        different_colour_ways_number[row_length - tile_start - tile_length][
                            tile_length - 2
                        ]
                        + 1
                    )

     return sum(different_colour_ways_number[length]    )


if __name__ == "__main__":
     print(f'''{solution() = }''')
