"""simple docstring"""




__lowerCAmelCase    :							Optional[Any]													=						{
    "A": ".-", "B": "-...", "C": "-.-.", "D": "-..", "E": ".", "F": "..-.", "G": "--.",
    "H": "....", "I": "..", "J": ".---", "K": "-.-", "L": ".-..", "M": "--", "N": "-.",
    "O": "---", "P": ".--.", "Q": "--.-", "R": ".-.", "S": "...", "T": "-", "U": "..-",
    "V": "...-", "W": ".--", "X": "-..-", "Y": "-.--", "Z": "--..", "1": ".----",
    "2": "..---", "3": "...--", "4": "....-", "5": ".....", "6": "-....", "7": "--...",
    "8": "---..", "9": "----.", "0": "-----", "&": ".-...", "@": ".--.-.",
    ":": "---...", ",": "--..--", ".": ".-.-.-", "'": ".----.", "\"": ".-..-.",
    "?": "..--..", "/": "-..-.", "=": "-...-", "+": ".-.-.", "-": "-....-",
    "(": "-.--.", ")": "-.--.-", "!": "-.-.--", " ": "/"
}  # Exclamation mark is not in ITU-R recommendation
# fmt: on
__lowerCAmelCase    :							Dict													=						{value: key for key, value in MORSE_CODE_DICT.items()}







def 							_UpperCAmelCase		(       lowerCamelCase__     ):





		"""simple docstring"""




		return " ".join(MORSE_CODE_DICT[char] for char in message.upper()     )







def 							_UpperCAmelCase		(       lowerCamelCase__     ):





		"""simple docstring"""




		return "".join(REVERSE_DICT[char] for char in message.split()     )







def 							_UpperCAmelCase		(       ):





		"""simple docstring"""




		lowerCAmelCase__        =   """Morse code here!"""
		print(lowerCamelCase__     )
		lowerCAmelCase__        =   encrypt(lowerCamelCase__     )
		print(lowerCamelCase__     )
		lowerCAmelCase__        =   decrypt(lowerCamelCase__     )
		print(lowerCamelCase__     )


if __name__ == "__main__":
			main()





"""simple docstring"""




def 							_UpperCAmelCase		(       lowerCamelCase__ = 50     ):





		"""simple docstring"""




		lowerCAmelCase__        =   [[0] * 3 for _ in range(length + 1     )]

		for row_length in range(length + 1     ):
				for tile_length in range(2			,  5     ):
						for tile_start in range(row_length - tile_length + 1     ):
								different_colour_ways_number[row_length][tile_length - 2] += (
								    different_colour_ways_number[row_length - tile_start - tile_length][
								        tile_length - 2
								    ]
								    + 1
								)

		return sum(different_colour_ways_number[length]     )


if __name__ == "__main__":
			print(F"{solution() = }")




