Rating changes for last rounds are temporarily rolled back. They will be returned soon. ×

E. Kitten rescue
time limit per test
3 seconds
memory limit per test
512 megabytes
input
standard input
output
standard output

Maxim Vitalyevich loves to play games, more precisely, one particular game. Maxim Vitalievich spent so much time in this game that he got tired of it lately, and he decided to take a break. To be more precise, Maxim Vitalievich decided to find another interesting game.

After a diligent search on the Internet, Maxim Vitalievich came across an exciting puzzle game. This game has several levels. The picture below shows an example level.

Each level is represented by a checkered field of size $$$n \times m$$$, where $$$n$$$  is the number of rows and $$$m$$$  is the number of columns. Each cell of this field is either free or occupied by an obstacle, a cat, a kitten or a dog. There is always exactly one cat and one kitten on the field, as well as no more than one dog. The player controls the movements of the cat. To pass the level, the player needs to save the kitten: in a certain number of moves, move the cat to the cell with the kitten. In one move, the player can move the cat to a horizontally or vertically adjacent cell, while he cannot move the cat to a cell with an obstacle. If after the move the cat ended up in a cell with a kitten, then the level is considered passed. If after the move the cat ended up in a cell with a dog, then the level is considered not passed (and it will have to be passed again).

After each player's move, if there is a dog on the field, it makes two moves. In one move, the dog approaches the cat by one square, either vertically or horizontally, while it cannot move into a cell with an obstacle. The Manhattan distance between the cat and the dog is used as the distance. If the dog can approach both horizontally and vertically, then it will always approach horizontally (moves either to the left or to the right). If the dog cannot get close, then it skips the move. Please note that the dog cannot move away from the cat. If the dog ends up in a cell with a cat after the move, the level is considered failed. The dog can move to the cell with the kitten, and if the player moves to the cell with the kitten and the dog, the level is also considered to be failed.

Maxim Vitalievich was able to pass several levels, but he got stuck at the next level. Help Maxim Vitalievich pass the level or tell him that this level cannot be passed.

Input

The first line contains two integers $$$n$$$ and $$$m$$$ — the number of rows and columns for the field, respectively.

The next $$$n$$$ lines contain $$$m$$$ characters each — description of the playing field from top to bottom, from left to right. Each character means:

  • character "." — free cell;
  • character "#" — obstacle;
  • character "C" — cat;
  • character "K" — kitten;
  • character "@" — dog.

$$$$$$ 1 \le n, m \le 60 $$$$$$

Output

If the level cannot be completed, then print "No" in a single line (without the quotes).

Otherwise, on the first line print "Yes" (without quotes). In the second line print the moves for the cat. Each move is represented by one symbol:

  • character "L" — move one cell to the left;
  • character "R" — move one cell to the right;
  • character "U" — move one cell up;
  • character "D" — move one cell down.

The number of moves must not exceed $$$100\,000$$$. If there are several solutions, then print any one, not necessarily the shortest one.

Examples
Input
4 6
..C...
##....
.#...K
..@...
Output
Yes
LLRRRRRDD
Input
1 6
K.@..C
Output
No