Chuck's Challenge is a game in which a player navigates a maze consisting of various tiles in a grid. The player can encounter doors that may be unlocked using keys they acquire along the way. You must write a program to determine the minimum number of doors that must be opened to reach the exit of the maze.
Key
| Tile | Meaning | Passable |
|---|---|---|
| > | Entrance | Yes |
| < | Exit | Yes |
| a-z | Key | Yes |
| A-Z | Door | See rules |
| . | Ground | Yes |
| + | Wall | No |
| Unstable floor | See rules |
Rules
The first line of input will contain the number of test cases, T (1 ≤ T ≤ 50). Each test case will begin with a line containing two integers R C (4 ≤ R, C ≤ 50). Following that will be a maze with R rows and C columns. Only the characters in the key will be present in the maze.
Each test case will have a single line of output. Print the minimum number of doors that must be opened to reach the exit or print "Impossible" if the exit cannot be reached.