


"""simple docstring"""







def 					lowercase      (    A_	)->				list[int]:
  '''simple docstring'''







  a						:		Union[str, Any]											=      [0 for i in range(len(A_	)	)]

  # initialize interval's left pointer and right pointer
  a						:		Optional[int]											=      0, 0

  for i in range(1  ,       len(A_	)	):
    # case when current index is inside the interval
    if i <= right_pointer:
      a						:		Optional[int]											=      min(right_pointer - i + 1  ,       z_result[i - left_pointer]	)
      a						:		int											=      min_edge

    while go_next(A_  ,       A_  ,       A_	):
      z_result[i] += 1

    # if new index's result gives us more right interval,
    # we've to update left_pointer and right_pointer
    if i + z_result[i] - 1 > right_pointer:
      a						:		Dict											=      i, i + z_result[i] - 1

  return z_result


def 					lowercase      (    A_  ,       A_  ,       A_	)->				bool:
  '''simple docstring'''







  return i + z_result[i] < len(A_	) and s[z_result[i]] == s[i + z_result[i]]


def 					lowercase      (    A_  ,       A_	)->				int:
  '''simple docstring'''







  a						:		Tuple											=      0
  # concatenate 'pattern' and 'input_str' and call z_function
  # with concatenated string
  a						:		Optional[Any]											=      z_function(pattern + input_str	)

  for val in z_result:
    # if value is greater then length of the pattern string
    # that means this index is starting position of substring
    # which is equal to pattern string
    if val >= len(A_	):
      answer += 1

  return answer


if __name__ == "__main__":
 import doctest

 doctest.testmod()










"""simple docstring"""







from math import ceil, sqrt


def 					lowercase      (    A_ = 1_000_000	)->				int:
  '''simple docstring'''







  a						:		Tuple											=      0

  for outer_width in range(3  ,       (limit // 4) + 2	):
    if outer_width**2 > limit:
      a						:		str											=      max(ceil(sqrt(outer_width**2 - limit	)	)  ,       1	)
    else:
      a						:		Tuple											=      1
    if (outer_width - hole_width_lower_bound) % 2:
      hole_width_lower_bound += 1

    answer += (outer_width - hole_width_lower_bound - 2) // 2 + 1

  return answer


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






