단어 찾기

단어가 격자에서 여덟 방향 중 한 방향으로 인접한 칸을 따라 일직선으로 나타나는지 판정한다.

보통4배열시뮬레이션구현완전 탐색면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

N×MN \times M 크기의 표가 있고, 각 칸에는 알파벳 대문자가 하나씩 쓰여 있다. 단어 SS가 주어졌을 때, 표에 단어 SS가 있는지 없는지 구하는 프로그램을 작성하시오.

표에 단어 SS가 있으려면 표의 한 칸에서 시작해 SS의 알파벳이 순서대로 이웃한 칸에 이어져야 한다. 이어지는 방향은 위, 아래, 왼쪽, 오른쪽과 대각선 네 방향인 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래를 모두 쓸 수 있다. 단, 중간에 방향을 바꾸면 안 된다.

입력

첫째 줄에 단어 SS가 주어진다. SS의 길이는 100보다 작거나 같고, SS는 알파벳 대문자로만 이루어져 있다.

둘째 줄에 표의 행의 개수 NN과 열의 개수 MM이 주어진다. NNMM은 100보다 작거나 같은 자연수이다.

셋째 줄부터 NN개의 줄에 표의 각 행에 들어 있는 알파벳이 MM개씩 공백 없이 주어진다.

출력

표에 단어 SS가 있으면 1을, 없으면 0을 출력한다.