Лиса Ciel играет в мобильную игру-головоломку под названием «Две точки». Простейшие уровни играются на доске размера n × m ячеек, выглядящей примерно вот так:
В каждой клетке нарисована точка, обозначенная некоторым цветом. Обозначим различные цвета различными заглавными буквами латинского алфавита.
Задача игрока — найти цикл, состоящий из точек одного цвета. В качестве примера можно рассмотреть обведённые четыре синих точки на картинке. Формально говоря, мы называем последовательность точек d1, d2, ..., dk циклом тогда и только тогда, когда выполняются следующие условия:
Определите, есть ли на поле цикл.
В первой строке записано два целых числа, n и m (2 ≤ n, m ≤ 50), количество строк и столбцов доски.
Затем следуют n строк, в каждой строке записана последовательность из m символов, обозначающих цвета точек в этой строке. Каждый символ является заглавной буквой латинского алфавита.
Выведите «Yes», если существует цикл, и «No» в противном случае.
В первом примере буквы 'A' формируют цикл.
Во втором примере цикла не существует.
Третий пример изображён на картинке выше ('Y' обозначает жёлтый, 'B' — синий, 'R' — красный).
3 4 AAAA ABCA AAAA
Yes
3 4 AAAA ABCA AADA
No
4 4 YYYR BYBY BBBY BBBY
7 6 AAAAAB ABBBAB ABAAAB ABABBB ABAAAB ABBBAB AAAAAB
2 13 ABCDEFGHIJKLM NOPQRSTUVWXYZ
2000 ms 256 Mb Правила оформления программ и список ошибок при автоматической проверке задач