

"""simple docstring"""
def 					a__						(						lowerCAmelCase = 50    )	-> int:
      UpperCAmelCase__			:							Optional[int]							=    [[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() = }''')




"""simple docstring"""
def 					a__						(						lowerCAmelCase			,	lowerCAmelCase    )	-> str:
      if a < 0 or b < 0:
            raise ValueError("""the value of both inputs must be positive"""    )

      UpperCAmelCase__			:							Dict							=    str(bin(lowerCAmelCase    )    )[2:]  # remove the leading "0b"
      UpperCAmelCase__			:							Any							=    str(bin(lowerCAmelCase    )    )[2:]  # remove the leading "0b"

      UpperCAmelCase__			:							Optional[Any]							=    max(len(lowerCAmelCase    )			,	len(lowerCAmelCase    )    )

      return "0b" + "".join(
          str(int(char_a != char_b    )    )
          for char_a, char_b in zip(a_binary.zfill(lowerCAmelCase    )			,	b_binary.zfill(lowerCAmelCase    )    )    )


if __name__ == "__main__":
    import doctest

    doctest.testmod()

