
from collections import defaultdict
from math import ceil, sqrt







def 							UpperCAmelCase_(  a__ = 1_000_000      ,		a__ = 10					):



    """simple docstring"""



    SCREAMING_SNAKE_CASE							:							Tuple								=      defaultdict(__snake_case					)

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

        hole_width_lower_bound += (outer_width - hole_width_lower_bound) % 2

        for hole_width in range(__snake_case      ,		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() = }")




def 				UpperCAmelCase_					(							__snake_case						)     ->			str:







 """simple docstring"""


 _lowercase							      =0

 # if input_string is "aba" than new_input_string become "a|b|a"
 _lowercase							      =''''''
 _lowercase							      =''''''

 # append each character + "|" in new_string for range(0, length-1)
 for i in input_string[: len(__snake_case						) - 1]:
  new_input_string += i + "|"
 # append last character
 new_input_string += input_string[-1]

 # we will store the starting and ending of previous furthest ending palindromic
 # substring
 _lowercase      ,    _lowercase							      =0, 0

 # length[i] shows the length of palindromic substring with center i
 _lowercase							      =[1 for i in range(len(__snake_case						)						)]

 # for each character in new_string find corresponding palindromic string
 _lowercase							      =0
 for j in range(len(__snake_case						)						):
  _lowercase							      =1 if j > r else min(length[l + r - j] // 2     ,						r - j + 1						)
  while (
      j - k >= 0
      and j + k < len(__snake_case						)
      and new_input_string[k + j] == new_input_string[j - k]
  ):
   k += 1

  _lowercase							      =2 * k - 1

  # does this string is ending after the previously explored end (that is r) ?
  # if yes the update the new r to the last index of this
  if j + k - 1 > r:
   _lowercase							      =j - k + 1  # noqa: E741
   _lowercase							      =j + k - 1

  # update max_length and start position
  if max_length < length[j]:
   _lowercase							      =length[j]
   _lowercase							      =j

    # create that string
 _lowercase							      =new_input_string[start - max_length // 2 : start + max_length // 2 + 1]
 for i in s:
  if i != "|":
   output_string += i

 return output_string


if __name__ == "__main__":
  import doctest

  doctest.testmod()

