



'''simple docstring'''






import decimal




def        snake_case_   (	)->						int:





       '''simple docstring'''


       _UpperCAmelCase    :		Tuple     	=					0
       _UpperCAmelCase    :		Any     	=					decimal.Context(prec=105						)
       for i in range(2			,  100						):
              _UpperCAmelCase    :		Optional[Any]     	=					decimal.Decimal(lowerCAmelCase_						)
              _UpperCAmelCase    :		int     	=					number.sqrt(lowerCAmelCase_						)
              if len(str(lowerCAmelCase_						)						) > 1:
                     answer += int(str(lowerCAmelCase_						)[0]						)
                     _UpperCAmelCase    :		Any     	=					str(lowerCAmelCase_						)[2:101]
                     answer += sum(int(lowerCAmelCase_						) for x in sqrt_number_str						)
       return answer


if __name__ == "__main__":
   import doctest

   doctest.testmod()
   print(f"""{solution() = }""")








'''simple docstring'''






def        snake_case_   (	lowerCAmelCase_			,  lowerCAmelCase_						)->						Union[str, Any]:





       '''simple docstring'''


       if n < 0:
              return 0
       # table[i] represents the number of ways to get to amount i
       _UpperCAmelCase    :		Union[str, Any]     	=					[0] * (n + 1)

       # There is exactly 1 way to get to zero(You pick no coins).
       _UpperCAmelCase    :		Optional[int]     	=					1

       # Pick all coins one by one and update table[] values
       # after the index greater than or equal to the value of the
       # picked coin
       for coin_val in s:
              for j in range(lowerCAmelCase_			,  n + 1						):
                     table[j] += table[j - coin_val]

       return table[n]


if __name__ == "__main__":
   import doctest

   doctest.testmod()



