





"""simple docstring"""




def  lowerCAmelCase__(		lowercase    :      str				,       lowercase    :      List[Any]				,       lowercase    :      Optional[Any]				,       lowercase    :      Optional[Any]			)	->      Tuple:
  __snake_case				:			Dict            =    int((lower_bound + upper_bound) // 2			)
  if array[r] == value:
    return r
  if lower_bound >= upper_bound:
    return -1
  if array[r] < value:
    return binary_search(lowercase_				,       r + 1				,       lowercase_				,       lowercase_			)
  else:
    return binary_search(lowercase_				,       lowercase_				,       r - 1				,       lowercase_			)







def  lowerCAmelCase__(		lowercase    :      List[Any]				,       lowercase    :      Union[str, Any]			)	->      Union[str, Any]:
  __snake_case				:			Optional[int]            =    0
  if matrix[index][0] == value:
    return [index, 0]
  while index < len(lowercase_			) and matrix[index][0] < value:
    __snake_case				:			Union[str, Any]            =    binary_search(matrix[index]				,       0				,       len(matrix[index]			) - 1				,       lowercase_			)
    if r != -1:
      return [index, r]
    index += 1
  return [-1, -1]


if __name__ == "__main__":
     import doctest

     doctest.testmod()








def  lowerCAmelCase__(		lowercase    :      int = 10**6			)	->      int:

  if n <= 0:
    raise ValueError("Please enter an integer greater than 0"			)

  __snake_case				:			List[Any]            =    list(range(n + 1			)			)
  for number in range(2				,       n + 1			):
    if phi[number] == number:
      phi[number] -= 1
      for multiple in range(number * 2				,       n + 1				,       lowercase			):
        __snake_case				:			Optional[int]            =    (phi[multiple] // number) * (number - 1)

  __snake_case				:			List[Any]            =    1
  for number in range(1				,       n + 1			):
    if (answer / phi[answer]) < (number / phi[number]):
      __snake_case				:			List[str]            =    number

  return answer


if __name__ == "__main__":
     print(solution())

