해결한 사람
0
명
정답률
0.00
%
시간 제한
1000
ms
메모리 제한
245
MB
Vasya는 타자 치는 법을 배우고 있다. 그가 사용하는 키보드는 특이하다. 이 키보드는 직사각형이며, 각 행에 m개의 키가 있는 n개의 행으로 이루어져 있다. 또한 키는 두 종류이다. 일부 키에는 소문자 라틴 문자가 적혀 있고, 일부 키는 표준 키보드의 "Shift" 키처럼 작동한다. 즉, 소문자를 대문자로 만든다.
Vasya는 한 손으로 하나 또는 두 개의 키를 누를 수 있다. 하지만 두 키의 중심 사이의 유클리드 거리가 x를 초과하지 않을 때만 두 키를 누를 수 있다. 키는 한 변의 길이가 1인 정사각형으로 간주한다. 인접한 키 사이에는 빈 공간이 없다.
Vasya는 매우 게으른 소년이어서, 다른 한 손으로 감자칩을 먹으면서 한 손으로 타자를 치려고 한다. 하지만 어떤 문자는 그 문자와 가장 가까운 "Shift" 키 사이의 거리가 x보다 엄격히 크기 때문에 한 손만으로 입력할 수 없을 수도 있다. 이 경우에는 다른 손을 사용해야 한다. 문자를 입력한 뒤 Vasya는 다른 손을 다시 감자칩으로 돌린다.
Vasya의 키보드와 텍스트가 주어진다. Vasya가 다른 손을 사용해야 하는 최소 횟수를 구한다.
첫 번째 줄에는 세 정수 n, m, x (1 ≤ n, m ≤ 30, 1 ≤ x ≤ 50)가 주어진다.
다음 n개의 줄에는 키보드의 모든 키에 대한 설명이 주어진다. 각 줄에는 정확히 m개의 키에 대한 설명이 공백 없이 주어진다. 문자 키는 해당하는 소문자로 표시된다. "Shift" 키는 "S" 기호로 표시된다.
그다음에는 텍스트의 길이 q (1 ≤ q ≤ 5·105)가 주어진다. 마지막 줄에는 대문자와 소문자 라틴 문자로 이루어진 q개의 문자로 구성된 텍스트 T가 주어진다.
If Vasya가 텍스트를 입력할 수 있다면, 다른 손을 사용해야 하는 최소 횟수를 출력한다. 그렇지 않다면 "-1"을 출력한다(따옴표 제외).
2 2 1
ab
cS
5
abcBA
13 9 4
qwertyuio
asdfghjkl
SzxcvbnmS
35
TheQuIcKbRoWnFOXjummsovertHeLazYDOG
22 2 1
ab
cd
1
e
-1첫 번째 예제에서는 키보드에 "Shift" 키가 없으므로 문자 "A"를 입력할 수 없다.
두 번째 예제에서는 키보드에 해당 키가 없으므로 문자 "e"를 입력할 수 없다.
네 번째 예제에서는 문자 "T", "G"를 한 손으로 입력할 수 없다. 키보드에 있는 다른 문자들은 입력할 수 있다. 이 문자들은 텍스트에 두 번 등장하므로 답은 2이다.