"""simple docstring"""




import copy
from dataclasses import dataclass
from pathlib import Path
from typing import Dict, Optional, Union

@dataclass
class       a_      :
					UpperCamelCase_ :	Optional[Union[str, Path]]			=    None
					UpperCamelCase_ :	bool			=    False
					UpperCamelCase_ :	bool			=    False
					UpperCamelCase_ :	bool			=    False
					UpperCamelCase_ :	Optional[Dict]			=    None
					UpperCamelCase_ :	Optional[str]			=    None
					UpperCamelCase_ :	bool			=    False
					UpperCamelCase_ :	bool			=    False
					UpperCamelCase_ :	bool			=    False
					UpperCamelCase_ :	bool			=    True
					UpperCamelCase_ :	Optional[int]			=    None
					UpperCamelCase_ :	int			=    1
					UpperCamelCase_ :	Optional[Union[str, bool]]			=    None
					UpperCamelCase_ :	bool			=    False
					UpperCamelCase_ :	Optional[Dict]			=    None
					UpperCamelCase_ :	Optional[str]			=    None




					def 						_SCREAMING_SNAKE_CASE						(	self						:     str     ):
							return self.__class__(**{k: copy.deepcopy(snake_case__     ) for k, v in self.__dict__.items()}     )





"""simple docstring"""




def 							_UpperCAmelCase		(       lowerCamelCase__ = 50     ):





		"""simple docstring"""




		lowerCAmelCase__        =   [[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() = }")




