



def       lowercase       (   SCREAMING_SNAKE_CASE__       :	list				,       SCREAMING_SNAKE_CASE__       :	list				,       SCREAMING_SNAKE_CASE__       :	int				,       SCREAMING_SNAKE_CASE__       :	int				,       SCREAMING_SNAKE_CASE__       :	int				)  ->     int:
 if index == number_of_items:
  return 0
 _snake_case    :  Any					=					0
 _snake_case    :  str					=					0
 _snake_case    :  Optional[int]					=					knapsack(SCREAMING_SNAKE_CASE__				,       SCREAMING_SNAKE_CASE__				,       SCREAMING_SNAKE_CASE__				,       SCREAMING_SNAKE_CASE__				,       index + 1				)
 if weights[index] <= max_weight:
  _snake_case    :  Tuple					=					values[index] + knapsack(
      SCREAMING_SNAKE_CASE__				,       SCREAMING_SNAKE_CASE__				,       SCREAMING_SNAKE_CASE__				,       max_weight - weights[index]				,       index + 1				)
 return max(SCREAMING_SNAKE_CASE__				,       SCREAMING_SNAKE_CASE__				)


if __name__ == "__main__":
  import doctest

  doctest.testmod()










from math import ceil, sqrt



def       lowercase       (   SCREAMING_SNAKE_CASE__       :	int = 1_000_000				)  ->     int:
 _snake_case    :  Tuple					=					0

 for outer_width in range(3				,       (limit // 4) + 2				):
  if outer_width**2 > limit:
   _snake_case    :  int					=					max(ceil(sqrt(outer_width**2 - limit				)				)				,       1				)
  else:
   _snake_case    :  Any					=					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() = }''')
