<p>On an alphabet board, we start at position <code>(0, 0)</code>, corresponding to character <code>board[0][0]</code>.</p>
<p>Here, <code>board = ["abcde", "fghij", "klmno", "pqrst", "uvwxy", "z"]</code>, as shown in the diagram below.</p>
<li><code>'U'</code> moves our position up one row, if the position exists on the board;</li>
<li><code>'D'</code> moves our position down one row, if the position exists on the board;</li>
<li><code>'L'</code> moves our position left one column, if the position exists on the board;</li>
<li><code>'R'</code> moves our position right one column, if the position exists on the board;</li>
<li><code>'!'</code> adds the character <code>board[r][c]</code> at our current position <code>(r, c)</code> to the answer.</li>
</ul>
<p>(Here, the only positions that exist on the board are positions with letters on them.)</p>
<p>Return a sequence of moves that makes our answer equal to <code>target</code> in the minimum number of moves. You may return any path that does so.</p>