시간 제한
메모리 제한
유니콘은 체스의 나이트와 비슷한 말이다. 나이트는 한 방향으로 2칸, 그 방향과 수직인 방향으로 1칸 움직인다. 반면 유니콘은 네 기본 방향 중 하나로 2칸보다 많이 움직인 뒤, 방금 움직인 방향과 수직인 두 방향 중 하나로 1칸보다 많이 움직인다.
더 정확히 말하면, 유니콘의 한 번의 이동은 다음과 같다.
체스판의 크기는 $N \times M$이다. 각 칸에는 알파벳 대문자의 처음 $L$개 문자 중 하나가 쓰여 있다.
$N$, $M$, $L$과 단어가 주어진다. 유니콘이 놓이는 칸들의 문자가 주어진 단어와 순서대로 일치하는 경로의 수를 구하라. 답은 $1{,}000{,}000{,}007$로 나눈 나머지로 출력한다.
첫째 줄에 $N$, $M$, $L$이 주어진다. $N$과 $M$은 $300$ 이하의 자연수이고, $L$은 $26$ 이하의 자연수이다.
둘째 줄에 단어가 주어진다. 단어의 길이는 최대 $50$이며, 알파벳 대문자로만 이루어져 있다.
셋째 줄부터 $N$개의 줄에 체스판에 적힌 문자열이 주어진다. 각 문자열의 길이는 $M$이다.
첫째 줄에 경로의 수를 $1{,}000{,}000{,}007$로 나눈 나머지를 출력한다.