Keys and Locks Keys and Locks
Moderate
RU JA English
Going up to the door you’ve noticed the case that was standing next to it - it was piled high with the keys of all shapes and sizes. Yes, Lord Escher definitely loved puzzles and difficulties. When you’ve attempted to open the door, you discovered with no particular surprise that it was closed. Well, let's find the right key and move on.

As input you are getting two multi-line strings - one is a schematic image of the keyhole, the second - of the key. Your task is to return True if the key fits the lock and False if otherwise. The key and keyhole are represented by the '#' symbols, and '0' shows the empty space around the key and the door material around the keyhole. Pay attention that the key and keyhole can be displayed both vertically and horizontally.

Input: The key and lock representation as multilines string.

Output: True or False.

Example:

keys_and_locks('''
0##0
0##0
00#0
00##
00##''',
'''
00000
000##
#####
##000
00000''') == True

How it is used: To determine the correspondence of objects to each other.

Precondition:
size of key and lock <= 10x10