




def   __lowerCAmelCase      (       UpperCamelCase						,   UpperCamelCase						,   UpperCamelCase						,   UpperCamelCase   )  ->						Optional[Any]:
  lowerCAmelCase__							,      lowerCAmelCase__					:	Optional[Any]									=  len(a_   ), len(grid[0]   )
  if (
      min(a_						,   a_   ) < 0
      or row == row_length
      or col == col_length
      or (row, col) in visit
      or grid[row][col] == 1
  ):
    return 0
  if row == row_length - 1 and col == col_length - 1:
    return 1

  visit.add((row, col)   )

  lowerCAmelCase__					:	int									=  0
  count += depth_first_search(a_						,   row + 1						,   a_						,   a_   )
  count += depth_first_search(a_						,   row - 1						,   a_						,   a_   )
  count += depth_first_search(a_						,   a_						,   col + 1						,   a_   )
  count += depth_first_search(a_						,   a_						,   col - 1						,   a_   )

  visit.remove((row, col)   )
  return count


if __name__ == "__main__":
     import doctest

     doctest.testmod()









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





def 		__UpperCAmelCase     (	a_):
							return " ".join(MORSE_CODE_DICT[char] for char in message.upper())





def 		__UpperCAmelCase     (	a_):
							return "".join(REVERSE_DICT[char] for char in message.split())





def 		__UpperCAmelCase     (	):
							snake_case_           =				'Morse code here!'
							print(a_)
							snake_case_           =				encrypt(a_)
							print(a_)
							snake_case_           =				decrypt(a_)
							print(a_)


if __name__ == "__main__":
	main()





