





"""simple docstring"""





def  __A   (_SCREAMING_SNAKE_CASE = 50			)					->int:





  """simple docstring"""


  lowerCAmelCase__			:str											=							[[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   (_SCREAMING_SNAKE_CASE     ,   _SCREAMING_SNAKE_CASE			)					->float:





  """simple docstring"""


  if discount_rate < 0:
    raise ValueError('Discount rate cannot be negative'			)
  if not cash_flows:
    raise ValueError('Cash flows list cannot be empty'			)
  lowerCAmelCase__			:Union[str, Any]											=							sum(
      cash_flow / ((1 + discount_rate) ** i) for i, cash_flow in enumerate(_SCREAMING_SNAKE_CASE			)			)
  return round(_SCREAMING_SNAKE_CASE     ,   ndigits=2			)


if __name__ == "__main__":
  import doctest

  doctest.testmod()
