




'''simple docstring'''

import numpy as np

a       :						int								=		[
    ['''a''', '''b''', '''c''', '''d''', '''e'''],
    ['''f''', '''g''', '''h''', '''i''', '''k'''],
    ['''l''', '''m''', '''n''', '''o''', '''p'''],
    ['''q''', '''r''', '''s''', '''t''', '''u'''],
    ['''v''', '''w''', '''x''', '''y''', '''z'''],
]



class 		SCREAMING_SNAKE_CASE__  :





			def __init__(      self						:    List[Any]							):



						"""simple docstring"""




						__snake_case			=		np.array(__lowerCAmelCase							)





			def 							A (      self						:    Optional[Any]      ,		a_						:    str							):



						"""simple docstring"""




						__snake_case		,     __snake_case			=		np.where(letter == self.SQUARE							)
						__snake_case			=		np.concatenate([indexa + 1, indexa + 1]							)
						return indexes





			def 							A (      self						:    List[str]      ,		a_						:    int      ,		a_						:    int							):



						"""simple docstring"""




						__snake_case			=		self.SQUARE[indexa - 1, indexa - 1]
						return letter





			def 							A (      self						:    Optional[Any]      ,		a_						:    str							):



						"""simple docstring"""




						__snake_case			=		message.lower()
						__snake_case			=		message.replace(" "      ,		""							)
						__snake_case			=		message.replace("j"      ,		"i"							)

						__snake_case			=		np.empty((2, len(__lowerCAmelCase							))							)
						for letter_index in range(len(__lowerCAmelCase							)							):
									__snake_case			=		self.letter_to_numbers(message[letter_index]							)

									__snake_case			=		numbers[0]
									__snake_case			=		numbers[1]

						__snake_case			=		first_step.reshape(2 * len(__lowerCAmelCase							)							)
						__snake_case			=		""
						for numbers_index in range(len(__lowerCAmelCase							)							):
									__snake_case			=		int(second_step[numbers_index * 2]							)
									__snake_case			=		int(second_step[(numbers_index * 2) + 1]							)
									__snake_case			=		self.numbers_to_letter(__lowerCAmelCase      ,		__lowerCAmelCase							)
									__snake_case			=		encoded_message + letter

						return encoded_message






			def 							A (      self						:    List[Any]      ,		a_						:    str							):



						"""simple docstring"""




						__snake_case			=		message.lower()
						message.replace(" "      ,		""							)
						__snake_case			=		np.empty(2 * len(__lowerCAmelCase							)							)
						for letter_index in range(len(__lowerCAmelCase							)							):
									__snake_case			=		self.letter_to_numbers(message[letter_index]							)
									__snake_case			=		numbers[0]
									__snake_case			=		numbers[1]

						__snake_case			=		first_step.reshape((2, len(__lowerCAmelCase							))							)
						__snake_case			=		""
						for numbers_index in range(len(__lowerCAmelCase							)							):
									__snake_case			=		int(second_step[0, numbers_index]							)
									__snake_case			=		int(second_step[1, numbers_index]							)
									__snake_case			=		self.numbers_to_letter(__lowerCAmelCase      ,		__lowerCAmelCase							)
									__snake_case			=		decoded_message + letter

						return decoded_message











'''simple docstring'''


def 						lowerCamelCase__   (				a							):
						if number < 0:
												raise ValueError('number must not be negative'							)
						return number & (number - 1) == 0


if __name__ == "__main__":
	import doctest

	doctest.testmod()

