


'''simple docstring'''
UpperCAmelCase_ :     List[str]								=      {0: [2, 3], 1: [0], 2: [1], 3: [4], 4: []}

UpperCAmelCase_ :     List[Any]								=      {0: [1, 2, 3], 1: [2], 2: [0], 3: [4], 4: [5], 5: [3]}


def 			_lowercase       (				UpperCamelCase__       :					dict[int, list[int]],				UpperCamelCase__       :					int,				UpperCamelCase__       :					list[bool]			):
 __A  :		List[str]       =			True
 __A  :		Tuple       =			[]

 for neighbour in graph[vert]:
  if not visited[neighbour]:
   order += topology_sort(UpperCamelCase__,				UpperCamelCase__,				UpperCamelCase__			)

 order.append(UpperCamelCase__			)

 return order


def 			_lowercase       (				UpperCamelCase__       :					dict[int, list[int]],				UpperCamelCase__       :					int,				UpperCamelCase__       :					list[bool]			):
 __A  :		Dict       =			True
 __A  :		Optional[Any]       =			[vert]

 for neighbour in reversed_graph[vert]:
  if not visited[neighbour]:
   component += find_components(UpperCamelCase__,				UpperCamelCase__,				UpperCamelCase__			)

 return component


def 			_lowercase       (				UpperCamelCase__       :					dict[int, list[int]]			):
 __A  :		Dict       =			len(UpperCamelCase__			) * [False]
 __A  :		dict[int, list[int]]       =			{vert: [] for vert in range(len(UpperCamelCase__			)			)}

 for vert, neighbours in graph.items():
  for neighbour in neighbours:
   reversed_graph[neighbour].append(UpperCamelCase__			)

 __A  :		List[str]       =			[]
 for i, was_visited in enumerate(UpperCamelCase__			):
  if not was_visited:
   order += topology_sort(UpperCamelCase__,				UpperCamelCase__,				UpperCamelCase__			)

 __A  :		Dict       =			[]
 __A  :		Dict       =			len(UpperCamelCase__			) * [False]

 for i in range(len(UpperCamelCase__			)			):
  __A  :		str       =			order[len(UpperCamelCase__			) - i - 1]
  if not visited[vert]:
   __A  :		List[Any]       =			find_components(UpperCamelCase__,				UpperCamelCase__,				UpperCamelCase__			)
   components_list.append(UpperCamelCase__			)

 return components_list










'''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() = }''')






