"""simple docstring"""


def 					UpperCAmelCase    (		UpperCAmelCase = 50					)				->      int:
     snake_case_					       =					[1] * (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					):
                    ways_number[row_length] += ways_number[
                        row_length - tile_start - tile_length
                    ]

     return ways_number[length]


if __name__ == "__main__":
    print(F"""{solution() = }""")







import math
import sys



def 					UpperCAmelCase__     (   lowerCamelCase      ):
  if number != int(lowerCamelCase      ):
    raise ValueError("the value of input must be a natural number"      )
  if number < 0:
    raise ValueError("the value of input must not be a negative number"      )
  if number == 0:
    return 1
  lowercase			:Dict							=  [-1] * (number + 1)
  lowercase			:Optional[Any]							=  0
  for i in range(1,	number + 1      ):
    lowercase			:Optional[int]							=  sys.maxsize
    lowercase			:Any							=  int(math.sqrt(lowerCamelCase      )      )
    for j in range(1,	root + 1      ):
      lowercase			:Any							=  1 + answers[i - (j**2)]
      lowercase			:Dict							=  min(lowerCamelCase,	lowerCamelCase      )
    lowercase			:Union[str, Any]							=  answer
  return answers[number]


if __name__ == "__main__":
     import doctest

     doctest.testmod()



