'''simple docstring'''
from math import exp







def 				__UpperCamelCase (					__UpperCAmelCase  :					float			)							->	Optional[int]:
  return 8 * x - 2 * exp(-x			)







def 				__UpperCamelCase (					__UpperCAmelCase  :					float ,   __UpperCAmelCase  :					float ,   __UpperCAmelCase  :					int			)							->	List[str]:
  lowercase				:							List[str]									=   lower_bound
  lowercase				:							Optional[int]									=   upper_bound
  for _ in range(0 ,   __A			):
    lowercase				:							str									=   xa, xa - (f(__A			) * (xa - xa)) / (f(__A			) - f(__A			))
  return xa


if __name__ == "__main__":
 print(f"""Example: {secant_method(1, 3, 2)}""")





import math
from collections.abc import Generator







def 		lowercase__ (		__A:						int					):





					'''simple docstring'''






					__magic_name__				:						Generator     				=				(i for i in range(1				,(max_n + 1)					))
					for i in (n for n in numbers if n > 1):
										for j in range(2				,__A					):
															if (i % j) == 0:
																				break
										else:
															yield i







def 		lowercase__ (		__A:						int					):





					'''simple docstring'''






					__magic_name__				:						Generator     				=				(i for i in range(1				,(max_n + 1)					))
					for i in (n for n in numbers if n > 1):
										# only need to check for factors up to sqrt(i)
										__magic_name__				:						Tuple     				=				int(math.sqrt(__A					)					) + 1
										for j in range(2				,__A					):
															if (i % j) == 0:
																				break
										else:
															yield i







def 		lowercase__ (		__A:						int					):





					'''simple docstring'''






					__magic_name__				:						Generator     				=				(i for i in range(1				,(max_n + 1)				,2					))
					# It's useless to test even numbers as they will not be prime
					if max_n > 2:
										yield 2  # Because 2 will not be tested, it's necessary to yield it now
					for i in (n for n in numbers if n > 1):
										__magic_name__				:						str     				=				int(math.sqrt(__A					)					) + 1
										for j in range(3				,__A				,2					):
															# As we removed the even numbers, we don't need them now
															if (i % j) == 0:
																				break
										else:
															yield i







def 		lowercase__ (		):





					'''simple docstring'''






					from timeit import timeit

					__magic_name__				:						Dict     				=				'''from __main__ import slow_primes, primes, fast_primes'''
					print(timeit('''slow_primes(1_000_000_000_000)'''				,setup=__A				,number=1_0_0_0_0_0_0					)					)
					print(timeit('''primes(1_000_000_000_000)'''				,setup=__A				,number=1_0_0_0_0_0_0					)					)
					print(timeit('''fast_primes(1_000_000_000_000)'''				,setup=__A				,number=1_0_0_0_0_0_0					)					)


if __name__ == "__main__":
	__lowerCamelCase :    Union[str, Any]      						=      int(input('''Calculate primes up to:\n>> ''').strip())
	for ret in primes(number):
		print(ret)
	benchmark()



