
def    __snake_case       (  __magic_name__		,						__magic_name__	):







		'''simple docstring'''


		print("\nVertex Distance"	)
		for i in range(__magic_name__	):
				if dist[i] != float("inf"	):
						print(__magic_name__		,						"\t"		,						int(dist[i]	)		,						end="\t"	)
				else:
						print(__magic_name__		,						"\t"		,						"INF"		,						end="\t"	)
				print()

def    __snake_case       (  __magic_name__		,						__magic_name__		,						__magic_name__	):







		'''simple docstring'''


		lowercase						    =			float("inf"	)
		lowercase						    =			-1
		for i in range(__magic_name__	):
				if (not vset[i]) and mdist[i] < min_val:
						lowercase						    =			i
						lowercase						    =			mdist[i]
		return min_ind

def    __snake_case       (  __magic_name__		,						__magic_name__		,						__magic_name__	):







		'''simple docstring'''


		lowercase						    =			[float("inf"	) for _ in range(__magic_name__	)]
		lowercase						    =			[False for _ in range(__magic_name__	)]
		lowercase						    =			0.0

		for _ in range(v - 1	):
				lowercase						    =			min_dist(__magic_name__		,						__magic_name__		,						__magic_name__	)
				lowercase						    =			True

				for i in range(__magic_name__	):
						if (
						    (not vset[i])
						    and graph[u][i] != float("inf"	)
						    and mdist[u] + graph[u][i] < mdist[i]
						):
								lowercase						    =			mdist[u] + graph[u][i]

		print_dist(__magic_name__		,						__magic_name__	)


if __name__ == "__main__":
						_snake_case			:       Any      =						int(input("Enter number of vertices: ").strip())
						_snake_case			:       List[Any]      =						int(input("Enter number of edges: ").strip())

						_snake_case			:       Union[str, Any]      =						[[float("inf") for i in range(V)] for j in range(V)]

						for i in range(V):
												_snake_case			:       List[Any]      =						0.0

						for i in range(E):
												print("\nEdge ", i + 1)
												_snake_case			:       Optional[int]      =						int(input("Enter source:").strip())
												_snake_case			:       str      =						int(input("Enter destination:").strip())
												_snake_case			:       int      =						float(input("Enter weight:").strip())
												_snake_case			:       Any      =						weight

						_snake_case			:       Optional[int]      =						int(input("\nEnter shortest path source:").strip())
						dijkstra(graph, V, gsrc)


_snake_case			:       List[Any]      =						{
    "A": ("ABCDEFGHIJKLM", "NOPQRSTUVWXYZ"),
    "B": ("ABCDEFGHIJKLM", "NOPQRSTUVWXYZ"),
    "C": ("ABCDEFGHIJKLM", "ZNOPQRSTUVWXY"),
    "D": ("ABCDEFGHIJKLM", "ZNOPQRSTUVWXY"),
    "E": ("ABCDEFGHIJKLM", "YZNOPQRSTUVWX"),
    "F": ("ABCDEFGHIJKLM", "YZNOPQRSTUVWX"),
    "G": ("ABCDEFGHIJKLM", "XYZNOPQRSTUVW"),
    "H": ("ABCDEFGHIJKLM", "XYZNOPQRSTUVW"),
    "I": ("ABCDEFGHIJKLM", "WXYZNOPQRSTUV"),
    "J": ("ABCDEFGHIJKLM", "WXYZNOPQRSTUV"),
    "K": ("ABCDEFGHIJKLM", "VWXYZNOPQRSTU"),
    "L": ("ABCDEFGHIJKLM", "VWXYZNOPQRSTU"),
    "M": ("ABCDEFGHIJKLM", "UVWXYZNOPQRST"),
    "N": ("ABCDEFGHIJKLM", "UVWXYZNOPQRST"),
    "O": ("ABCDEFGHIJKLM", "TUVWXYZNOPQRS"),
    "P": ("ABCDEFGHIJKLM", "TUVWXYZNOPQRS"),
    "Q": ("ABCDEFGHIJKLM", "STUVWXYZNOPQR"),
    "R": ("ABCDEFGHIJKLM", "STUVWXYZNOPQR"),
    "S": ("ABCDEFGHIJKLM", "RSTUVWXYZNOPQ"),
    "T": ("ABCDEFGHIJKLM", "RSTUVWXYZNOPQ"),
    "U": ("ABCDEFGHIJKLM", "QRSTUVWXYZNOP"),
    "V": ("ABCDEFGHIJKLM", "QRSTUVWXYZNOP"),
    "W": ("ABCDEFGHIJKLM", "PQRSTUVWXYZNO"),
    "X": ("ABCDEFGHIJKLM", "PQRSTUVWXYZNO"),
    "Y": ("ABCDEFGHIJKLM", "OPQRSTUVWXYZN"),
    "Z": ("ABCDEFGHIJKLM", "OPQRSTUVWXYZN"),
}

def    __snake_case       (  __magic_name__	):







				'''simple docstring'''


				return [alphabet[char] for char in key.upper()]

def    __snake_case       (  __magic_name__		,						__magic_name__	):







				'''simple docstring'''


				lowercase						    =			""
				lowercase						    =			0
				lowercase						    =			generate_table(__magic_name__	)
				for char in words.upper():
								cipher += get_opponent(table[count]		,						__magic_name__	)
								lowercase						    =			(count + 1) % len(__magic_name__	)
				return cipher

def    __snake_case       (  __magic_name__		,						__magic_name__	):







				'''simple docstring'''


				return encrypt(__magic_name__		,						__magic_name__	)

def    __snake_case       (  __magic_name__		,						__magic_name__	):







				'''simple docstring'''


				lowercase						    =			0 if char in table[0] else 1
				lowercase						    =			table[row].index(__magic_name__	)
				return row, col

def    __snake_case       (  __magic_name__		,						__magic_name__	):







				'''simple docstring'''


				lowercase    ,  lowercase						    =			get_position(__magic_name__		,						char.upper()	)
				if row == 1:
								return table[0][col]
				else:
								return table[1][col] if row == 0 else char


if __name__ == "__main__":
						import doctest

						doctest.testmod()  # Fist ensure that all our tests are passing...
						_snake_case			:       List[Any]      =						input("Enter key: ").strip()
						_snake_case			:       Optional[int]      =						input("Enter text to encrypt: ").strip()
						_snake_case			:       Optional[Any]      =						encrypt(key, text)

						print(F"Encrypted: {cipher_text}")
						print(F"Decrypted with key: {decrypt(key, cipher_text)}")
