


'''simple docstring'''
import math
import sys


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


if __name__ == "__main__":
 import doctest

 doctest.testmod()










'''simple docstring'''
from collections import defaultdict
from math import ceil, sqrt


def 			_lowercase       (				UpperCamelCase__       :					int = 1000000,				UpperCamelCase__       :					int = 10			):
 __A  :		defaultdict       =			defaultdict(UpperCamelCase__			)

 for outer_width in range(3,				(t_limit // 4) + 2			):
  if outer_width * outer_width > t_limit:
   __A  :		Optional[int]       =			max(
       ceil(sqrt(outer_width * outer_width - t_limit			)			),				1			)
  else:
   __A  :		Optional[Any]       =			1

  hole_width_lower_bound += (outer_width - hole_width_lower_bound) % 2

  for hole_width in range(UpperCamelCase__,				outer_width - 1,				2			):
   count[outer_width * outer_width - hole_width * hole_width] += 1

 return sum(1 for n in count.values() if 1 <= n <= 10			)


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






