



from __future__ import annotations




def 	UpperCAmelCase   (						_lowerCamelCase    ):

   # preprocessing the first row
   for i in range(1 ,    len(matrix[0]    )    ):
      matrix[0][i] += matrix[0][i - 1]

   # preprocessing the first column
   for i in range(1 ,    len(_lowerCamelCase    )    ):
      matrix[i][0] += matrix[i - 1][0]

   # updating the path cost for current position
   for i in range(1 ,    len(_lowerCamelCase    )    ):
      for j in range(1 ,    len(matrix[0]    )    ):
         matrix[i][j] += min(matrix[i - 1][j] ,    matrix[i][j - 1]    )

   return matrix[-1][-1]


if __name__ == "__main__":
       import doctest

       doctest.testmod()




from math import sqrt




def 	UpperCAmelCase   (						_lowerCamelCase = 100_0000    ):
			A							:					int              =						0
			A							:					int              =						0
			A							:					int

			while num_cuboids <= limit:
						max_cuboid_size += 1
						for sum_shortest_sides in range(2 ,    2 * max_cuboid_size + 1    ):
									if sqrt(sum_shortest_sides**2 + max_cuboid_size**2    ).is_integer():
												num_cuboids += (
												    min(_lowerCamelCase ,    sum_shortest_sides // 2    )
												    - max(1 ,    sum_shortest_sides - max_cuboid_size    )
												    + 1
												)

			return max_cuboid_size


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