


import numpy as np

lowerCAmelCase__  :List[Any]   			=							[
    ['''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 		__a      :
		def __init__(			self						) ->       None:




									"""simple docstring"""





									_UpperCAmelCase 		=			np.array(_SCREAMING_SNAKE_CASE						)
		def 	UpperCAmelCase__				(			self			,    _SCREAMING_SNAKE_CASE						) ->       np.ndarray:




									"""simple docstring"""





									_UpperCAmelCase 		=			np.where(letter == self.SQUARE						)
									_UpperCAmelCase 		=			np.concatenate([indexa + 1, indexa + 1]						)
									return indexes
		def 	UpperCAmelCase__				(			self			,    _SCREAMING_SNAKE_CASE			,    _SCREAMING_SNAKE_CASE						) ->       str:




									"""simple docstring"""





									_UpperCAmelCase 		=			self.SQUARE[indexa - 1, indexa - 1]
									return letter
		def 	UpperCAmelCase__				(			self			,    _SCREAMING_SNAKE_CASE						) ->       str:




									"""simple docstring"""





									_UpperCAmelCase 		=			message.lower()
									_UpperCAmelCase 		=			message.replace(' '			,    ''						)
									_UpperCAmelCase 		=			message.replace('j'			,    'i'						)

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

																_UpperCAmelCase 		=			numbers[0]
																_UpperCAmelCase 		=			numbers[1]

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

									return encoded_message






		def 	UpperCAmelCase__				(			self			,    _SCREAMING_SNAKE_CASE						) ->       str:




									"""simple docstring"""





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

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

									return decoded_message

from maths.prime_check import is_prime





def    __lowercase     (						lowerCamelCase					:     int	):
 if not isinstance(lowerCamelCase  ,  lowerCamelCase	):
  UpperCamelCase_					:						List[str] =					F"Input value of [number={number}] must be an integer"
  raise TypeError(lowerCamelCase	)
 if is_prime(lowerCamelCase	) and is_prime(number + 2	):
  return number + 2
 else:
  return -1


if __name__ == "__main__":
   import doctest

   doctest.testmod()



