Крестики-нолики

시간 제한2초메모리 제한1024 MB

요약
X, O, 점으로 채워진 n 곱하기 m 격자에서 가로, 세로, 대각선 방향으로 같은 표시 다섯 개가 연속하는지 판별한다.
난이도

쉬움10점 중 3점

유형
구현, 행렬, 완전 탐색
정답자
아직 제출이 없습니다

문제

Однажды, прогуливаясь по Королевской Гавани, лорд Петир Бейлиш нашел листок бумаги в клетку, исписанный странными символами. Оказалось, что кто-то играл на этом листке в крестики-нолики.

Лорд Бейлиш прекрасно знает правила этой игры. Игроки ходят по очереди, один из них ставит в любую свободную клетку поля крестик, второй --- нолик. Петир Бейлиш не знает, кто играл эту партию в крестики-нолики, но ему очень хочется узнать, доиграна она или нет. Партия считается доигранной, если существует горизонтальная, вертикальная или диагональная линия из пяти крестиков или ноликов. Позиция может быть неккоректной, Петира это не волнует.

Лорд Бейлиш считает вас достойной кандидатурой, чтобы помочь ему. Ваша задача --- написать программу, которая сможет определить, доиграна партия или нет.

입력

В самой первой строке входного файла заданы числа nn и mm (1≤n,m≤10001 \le n, m \le 1000) --- размеры игрового поля.

В следующих nn строках записано по mm символов <<X>>, <<O>> или <<.>>, которые означают, что в данной клетке стоит крестик, нолик, либо она пуста, соответственно. Обращаем ваше внимание, что <<X>> и <<O>> --- заглавные буквы латинского алфавита.

출력

В единственной строке выходного файла выведите Yes, если игра доиграна, и No, если нет.

예제1

  1. 예제 1

    입력
    5 6
    .OXOXO
    OXX.O.
    XXOOXX
    ..O..O
    OOXX.X
    
    예상 출력
    Yes