





'''simple docstring'''




from __future__ import annotations






def 			_lowerCAmelCase     (    __snake_case    :					list[int]					,				__snake_case    :					list[int]					,				__snake_case    :					int     )	->	tuple[float, list[float]]:
     __A		:					int						=			list(range(len(__snake_case     )     )     )
     __A		:					Optional[Any]						=			[v / w for v, w in zip(__snake_case					,				__snake_case     )]
     index.sort(key=lambda __snake_case     : ratio[i]					,				reverse=__snake_case     )

     __A		:					float						=			0
     __A		:					list[float]						=			[0] * len(__snake_case     )
     for i in index:
          if weight[i] <= capacity:
               __A		:					Optional[int]						=			1
               max_value += value[i]
               capacity -= weight[i]
          else:
               __A		:					List[Any]						=			capacity / weight[i]
               max_value += value[i] * capacity / weight[i]
               break

     return max_value, fractions


if __name__ == "__main__":
  import doctest

  doctest.testmod()






'''simple docstring'''




import math
import sys






def 			_lowerCAmelCase     (    __snake_case    :					int     )	->	int:
     if number != int(__snake_case     ):
          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
     __A		:					str						=			[-1] * (number + 1)
     __A		:					Dict						=			0
     for i in range(1					,				number + 1     ):
          __A		:					int						=			sys.maxsize
          __A		:					int						=			int(math.sqrt(__snake_case     )     )
          for j in range(1					,				root + 1     ):
               __A		:					str						=			1 + answers[i - (j**2)]
               __A		:					Dict						=			min(__snake_case					,				__snake_case     )
          __A		:					Union[str, Any]						=			answer
     return answers[number]


if __name__ == "__main__":
  import doctest

  doctest.testmod()