
from typing import TYPE_CHECKING

# rely on isort to merge the imports
from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowerCamelCase_						: List[str]         =  {"""configuration_focalnet""": ["""FOCALNET_PRETRAINED_CONFIG_ARCHIVE_MAP""", """FocalNetConfig"""]}


try:
							if not is_torch_available():
														raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
							pass
else:
							lowerCamelCase_						: str         =  [
							    """FOCALNET_PRETRAINED_MODEL_ARCHIVE_LIST""",
							    """FocalNetForImageClassification""",
							    """FocalNetForMaskedImageModeling""",
							    """FocalNetBackbone""",
							    """FocalNetModel""",
							    """FocalNetPreTrainedModel""",
							]

if TYPE_CHECKING:
							from .configuration_focalnet import FOCALNET_PRETRAINED_CONFIG_ARCHIVE_MAP, FocalNetConfig

							try:
														if not is_torch_available():
																					raise OptionalDependencyNotAvailable()
							except OptionalDependencyNotAvailable:
														pass
							else:
														from .modeling_focalnet import (
														    FOCALNET_PRETRAINED_MODEL_ARCHIVE_LIST,
														    FocalNetBackbone,
														    FocalNetForImageClassification,
														    FocalNetForMaskedImageModeling,
														    FocalNetModel,
														    FocalNetPreTrainedModel,
														)

else:
							import sys

							lowerCamelCase_						: str         =  _LazyModule(__name__, globals()["""__file__"""], _import_structure, module_spec=__spec__)








def        A__					(						lowerCamelCase = 50						)  ->	int:
				UpperCamelCase_:							List[Any]	=						[[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() = }""")






