1725 - LianLianKan

Time Limit : 1 Second

Memory Limit : 256 MB

Submission: 13

Solved: 2

Description

Thulium often plays the game LianLianKan. This game is played on a board with N*M grids, and lots of cards are put on the board in the grids. You should find a pair of the same cards, if not more than three segments can link this pair without passing any other cards, you can take this pair away from the board. If you can clear all the cards, you win the game, otherwise you lose it.


If you have played this game, you may know that sometimes the game has no solution and you are sure to lose. 


 


Three segments means you can change line’s direction atmost two times.

Input

The input consists of multiple test cases. The first line of each test case contains two integers N and M (2 <= N, M <= 10), which denote the sizes of the game board. The next N lines give the board layout, with each line containing M characters. A character is one of the following: ‘*’ (an empty position), ‘A’, ‘B’, ‘C’, ’D’ (the cards, which imply that there are at most 4 different kinds of cards). Different letters represent different cards. The number of same cards may be odd, and there may be more than one pair of the same cards. 


 


The input is terminated with two 0's. This test case shoud not be processed.

Output

For each test case, print in one line "yes" if Thulium can clear the game board, "no" otherwise.

sample input
6 8
********
*A**C***
**B*****
***B*D**
****D***
********
2 2
AB
BA
6 8
***A****
*A**C***
**B***C*
***B*D**
****D***
********
0 0
sample output
no
no
yes
hint
source
tangyan
© 2015 HUST ACMICPC TEAM. All Right Reserved.