





UpperCAmelCase_     							= {
    '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
UpperCAmelCase_     							= {value: key for key, value in MORSE_CODE_DICT.items()}




def 		lowerCAmelCase_    (  __UpperCAmelCase:			str      )      ->	str:
    return " ".join(MORSE_CODE_DICT[char] for char in message.upper()      )




def 		lowerCAmelCase_    (  __UpperCAmelCase:			str      )      ->	str:
    return "".join(REVERSE_DICT[char] for char in message.split()      )




def 		lowerCAmelCase_    (  )      ->	None:
    UpperCamelCase__							:				List[Any]          =      '''Morse code here!'''
    print(__UpperCAmelCase      )
    UpperCamelCase__							:				Tuple          =      encrypt(__UpperCAmelCase      )
    print(__UpperCAmelCase      )
    UpperCamelCase__							:				Optional[Any]          =      decrypt(__UpperCAmelCase      )
    print(__UpperCAmelCase      )


if __name__ == "__main__":
  main()








import random




def 		lowerCAmelCase_    (  __UpperCAmelCase:			list		,   __UpperCAmelCase:			Optional[int]      )      ->	tuple:
    UpperCamelCase__   ,UpperCamelCase__   ,UpperCamelCase__							:				List[Any]          =      [], [], []
    for element in data:
        if element < pivot:
            less.append(__UpperCAmelCase      )
        elif element > pivot:
            greater.append(__UpperCAmelCase      )
        else:
            equal.append(__UpperCAmelCase      )
    return less, equal, greater





def 		lowerCAmelCase_    (  __UpperCAmelCase:			list		,   __UpperCAmelCase:			int      )      ->	List[str]:
    # index = len(items) // 2 when trying to find the median
    #   (value of index when items is sorted)

    # invalid input
    if index >= len(__UpperCAmelCase      ) or index < 0:
        return None

    UpperCamelCase__							:				List[str]          =      items[random.randint(0		,   len(__UpperCAmelCase      ) - 1      )]
    UpperCamelCase__							:				List[Any]          =      0
    UpperCamelCase__   ,UpperCamelCase__   ,UpperCamelCase__							:				int          =      _partition(__UpperCAmelCase		,   __UpperCAmelCase      )
    UpperCamelCase__							:				Union[str, Any]          =      len(__UpperCAmelCase      )
    UpperCamelCase__							:				Dict          =      len(__UpperCAmelCase      )

    # index is the pivot
    if m <= index < m + count:
        return pivot
    # must be in smaller
    elif m > index:
        return quick_select(__UpperCAmelCase		,   __UpperCAmelCase      )
    # must be in larger
    else:
        return quick_select(__UpperCAmelCase		,   index - (m + count)      )

