

'''simple docstring'''
def 	_lowerCAmelCase (						_UpperCamelCase						:					str							,			_UpperCamelCase						:					bool = False    )				->      str:
     """simple docstring"""




     if not isinstance(_UpperCamelCase							,			_UpperCamelCase    ):
          _SCREAMING_SNAKE_CASE							   =f"Expected string as input, found {type(_UpperCamelCase    )}"
          raise ValueError(_UpperCamelCase    )
     if not isinstance(_UpperCamelCase							,			_UpperCamelCase    ):
          _SCREAMING_SNAKE_CASE							   =f"Expected boolean as use_pascal parameter, found {type(_UpperCamelCase    )}"
          raise ValueError(_UpperCamelCase    )

     _SCREAMING_SNAKE_CASE							   =input_str.split('_'    )

     _SCREAMING_SNAKE_CASE							   =0 if use_pascal else 1

     _SCREAMING_SNAKE_CASE							   =words[start_index:]

     _SCREAMING_SNAKE_CASE							   =[word[0].upper() + word[1:] for word in words_to_capitalize]

     _SCREAMING_SNAKE_CASE							   ='' if use_pascal else words[0]

     return "".join([initial_word, *capitalized_words]    )


if __name__ == "__main__":
     from doctest import testmod

     testmod()



'''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() = }''')
