

import string

def 							__SCREAMING_SNAKE_CASE							(			lowerCAmelCase:					str	)				->    str:
				_UpperCAmelCase    :						Any							=      ""
				for i in sequence:
								_UpperCAmelCase    :						Any							=      ord(lowerCAmelCase	)
								if 65 <= extract <= 90:
												output += chr(155 - extract	)
								elif 97 <= extract <= 122:
												output += chr(219 - extract	)
								else:
												output += i
				return output

def 							__SCREAMING_SNAKE_CASE							(			lowerCAmelCase:					str	)				->    str:
				_UpperCAmelCase    :						Tuple							=      string.ascii_letters
				_UpperCAmelCase    :						Optional[Any]							=      string.ascii_lowercase[::-1] + string.ascii_uppercase[::-1]
				return "".join(
				    letters_reversed[letters.index(lowerCAmelCase	)] if c in letters else c for c in sequence	)

def 							__SCREAMING_SNAKE_CASE							(			)				->    None:
				from timeit import timeit

				print("Running performance benchmarks..."	)
				_UpperCAmelCase    :						Optional[int]							=      "from string import printable ; from __main__ import atbash, atbash_slow"
				print(F'> atbash_slow(): {timeit("atbash_slow(printable)"					, setup=lowerCAmelCase	)} seconds'	)
				print(F'>      atbash(): {timeit("atbash(printable)"					, setup=lowerCAmelCase	)} seconds'	)


if __name__ == "__main__":
					for example in ("ABCDEFGH", "123GGjj", "testStringtest", "with space"):
										print(F'''{example} encrypted in atbash: {atbash(example)}''')
					benchmark()





from __future__ import annotations

from decimal import Decimal
from math import *  # noqa: F403

from sympy import diff

def 							__SCREAMING_SNAKE_CASE							(			lowerCAmelCase:					str					, lowerCAmelCase:					float | Decimal					, lowerCAmelCase:					float = 10**-10	)				->    float:
				_UpperCAmelCase    :						Optional[int]							=      a
				while True:
								_UpperCAmelCase    :						Tuple							=      Decimal(lowerCAmelCase	) - (
								    Decimal(eval(lowerCAmelCase	)	) / Decimal(eval(str(diff(lowerCAmelCase	)	)	)	)  # noqa: S307
								)
								# This number dictates the accuracy of the answer
								if abs(eval(lowerCAmelCase	)	) < precision:  # noqa: S307
												return float(lowerCAmelCase	)


# Let's Execute
if __name__ == "__main__":
					# Find root of trigonometric function
					# Find value of pi
					print(F'''The root of sin(x) = 0 is {newton_raphson("sin(x)", 2)}''')
					# Find root of polynomial
					print(F'''The root of x**2 - 5*x + 2 = 0 is {newton_raphson("x**2 - 5*x + 2", 0.4)}''')
					# Find Square Root of 5
					print(F'''The root of log(x) - 1 = 0 is {newton_raphson("log(x) - 1", 2)}''')
					# Exponential Roots
					print(F'''The root of exp(x) - 1 = 0 is {newton_raphson("exp(x) - 1", 0)}''')


