

def    __lowerCamelCase      (					UpperCamelCase__ ):  # noqa: E741







							'''simple docstring'''






							snake_case_     							=       len(UpperCamelCase__ )
							snake_case_     							=       0
							snake_case_     							=       [0] * n
							snake_case_     							=       [False] * n
							snake_case_     							=       [False] * n

							def dfs(UpperCamelCase__  ,				UpperCamelCase__  ,				UpperCamelCase__  ,				UpperCamelCase__ ):
														if parent == root:
																					out_edge_count += 1
														snake_case_     							=       True
														snake_case_     							=       at

														for to in l[at]:
																					if to == parent:
																												pass
																					elif not visited[to]:
																												snake_case_     							=       dfs(UpperCamelCase__  ,				UpperCamelCase__  ,				UpperCamelCase__  ,				UpperCamelCase__ )
																												snake_case_     							=       min(low[at]  ,				low[to] )

																												# AP found via bridge
																												if at < low[to]:
																																			snake_case_     							=       True
																												# AP found via cycle
																												if at == low[to]:
																																			snake_case_     							=       True
																					else:
																												snake_case_     							=       min(low[at]  ,				UpperCamelCase__ )
														return out_edge_count

							for i in range(UpperCamelCase__ ):
														if not visited[i]:
																					snake_case_     							=       0
																					snake_case_     							=       dfs(UpperCamelCase__  ,				UpperCamelCase__  ,				-1  ,				UpperCamelCase__ )
																					snake_case_     							=       out_edge_count > 1

							for x in range(len(UpperCamelCase__ ) ):
														if is_art[x] is True:
																					print(UpperCamelCase__ )


# Adjacency list of graph
_UpperCAmelCase						:  Any									=			{
    0: [1, 2],
    1: [0, 2],
    2: [0, 1, 3, 5],
    3: [2, 4],
    4: [3],
    5: [2, 6, 8],
    6: [5, 7],
    7: [6, 8],
    8: [5, 7],
}


compute_ap(data)







import string





def    __lowerCamelCase      (					UpperCamelCase__ ):







							'''simple docstring'''






							snake_case_     							=       ''
							for i in sequence:
														snake_case_     							=       ord(UpperCamelCase__ )
														if 65 <= extract <= 90:
																					output += chr(155 - extract )
														elif 97 <= extract <= 122:
																					output += chr(219 - extract )
														else:
																					output += i
							return output





def    __lowerCamelCase      (					UpperCamelCase__ ):







							'''simple docstring'''






							snake_case_     							=       string.ascii_letters
							snake_case_     							=       string.ascii_lowercase[::-1] + string.ascii_uppercase[::-1]
							return "".join(
							    letters_reversed[letters.index(UpperCamelCase__ )] if c in letters else c for c in sequence )





def    __lowerCamelCase      (					):







							'''simple docstring'''






							from timeit import timeit

							print('Running performance benchmarks...' )
							snake_case_     							=       'from string import printable ; from __main__ import atbash, atbash_slow'
							print(F'''> atbash_slow(): {timeit("atbash_slow(printable)"  ,				setup=UpperCamelCase__ )} seconds''' )
							print(F'''>      atbash(): {timeit("atbash(printable)"  ,				setup=UpperCamelCase__ )} seconds''' )


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




