멜로디

시간 제한1초메모리 제한128 MB

문제

Linas는 독특한 관악기를 연주한다. 이 악기에는 구멍이 $S$개 있으며, Linas는 $1$번부터 $N$번까지 번호가 매겨진 서로 다른 음 $N$개를 낼 수 있다. 각 음은 모든 구멍을 특정한 방식으로 막아서 내며, 이는 $S$개의 숫자로 이루어진 수열로 표현된다. $j$번째 숫자는 $j$번째 구멍을 막는 방법을 나타내고, 막는 방법은 $0$부터 $9$까지 $10$가지 중 하나이다. 어떤 음에도 해당하지 않는 방식으로 구멍을 막으면 악기가 불쾌한 소리를 내므로, Linas는 항상 어떤 유효한 음에 해당하도록 구멍을 막는다.

Linas는 $L$개의 음으로 이루어진 곡을 연주하려고 한다. 그러나 그는 완벽하지 않다. 다음 음이 현재 음과 최대 $G$개의 구멍에서만 다를 때(즉 두 음의 숫자 수열이 서로 다른 위치가 최대 $G$개일 때)에만 이어서 연주할 수 있다. 이 때문에 그는 때때로 악보에 적힌 음과 다른 음을 연주해야 한다. 실제로 연주한 음이 악보에 적힌 음과 다른 위치를 각각 실수라고 부른다.

주어진 악보에 대해, 이웃한 두 음이 항상 최대 $G$개의 구멍에서만 다르도록 하면서 실수의 개수를 최소로 만드는, 실제로 연주할 음들을 정하라.

입력

첫째 줄에 세 정수 $N$, $S$, $G$가 주어진다 ($1 \le N \le 100$, $0 \le G < S \le 100$). 각각 음의 개수, 구멍의 개수, 이웃한 두 음 사이에서 바꿀 수 있는 구멍의 최대 개수이다.

다음 $N$개의 줄에는 각 음이 공백 없이 $S$개의 숫자로 주어진다. $j$번째 숫자는 그 음에서 $j$번째 구멍을 막는 방법이며 $0$부터 $9$까지의 값이다. 서로 같은 음은 없다.

그다음 줄에는 곡의 길이 $L$이 주어진다 ($1 \le L \le 10^5$).

마지막 줄에는 악보의 음이 순서대로 $1$ 이상 $N$ 이하의 정수 $L$개로, 공백으로 구분되어 주어진다.

출력

두 줄을 출력한다.

첫째 줄에는 실수의 최소 개수인 음이 아닌 정수 하나를 출력한다.

둘째 줄에는 이 최소 실수 개수를 달성하는, 이웃한 두 음이 항상 최대 $G$개의 구멍에서만 다른 유효한 곡을 이루는 음 $L$개를 공백으로 구분하여 출력한다. 그러한 곡이 여러 개이면, 음 번호의 수열로 비교했을 때 사전순으로 가장 앞서는 것을 출력한다.