You've discovered the long-lost tomb of the great pharaoh T'om Bha Ter. After eluding a devious sequence of snake traps, boulder traps, ant traps, sand traps and speed traps, you've about had it with traps. Only one challenge remains between you and a hoard of priceless, museum-belonging-in artifacts. You enter a room from the North whose floor is a rectangular grid, each tile of which is inscribed with a glyph. A small plaque contains a list of glyph words (constructed from individual glyphs in a specified order) and the following brief set of instructions:
Disobey any of these rules and you'll find yourself hurtling into a bottomless abyss. Since you brought your laptop, you immediately get to coding.
Input starts with a line containing three positive integers $m$ $n$ $k$ ($ m,n,k \leq 50$), where $m$ and $n$ are the dimensions of the rectangular grid and $k$ is the number of glyph words. The next $m$ lines contain $n$ upper-case letters, separated by single spaces, representing the rectangular grid. The next $k$ lines each contain a glyph word, also consisting entirely of capital letters. Each glyph word will contain at most $50$ letters.
If there is a route that starts at any Northernmost tile, ends at any Southernmost tile, and obeys all of the above rules, output the length of the shortest such route. Otherwise output impossible
.
3 4 1 X X P X X X A T X X X H PATH
· · \n · · · \n · · · \n · · · \n \n
4
\n
5 5 2 X X P X X X X A T X X X H H X X M O X X X E X X X HOME PATH
· · \n · · · · \n · · · · \n · · · · \n · · · · \n · · · · \n \n \n
8
\n
5 5 2 X X P X X X X A T X X X H X X X M O X X X E X X X HOME PATH
· · \n · · · · \n · · · · \n · · · · \n · · · · \n · · · · \n \n \n
impossible
\n