금고

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

바이트만은 오래된 금고에 전 재산을 보관한다. 이 금고의 자물쇠는 똑같이 생긴 바퀴 nn개로 이루어져 있고, 각 바퀴에는 mm개의 글자로 된 같은 단어가 빙 둘러 적혀 있다. 바퀴는 서로 독립적으로 돌릴 수 있어서, 각 바퀴를 mm가지 위치 중 하나에 맞출 수 있다. mm개의 모든 위치에서 모든 바퀴가 같은 글자를 보이면, 즉 모든 바퀴가 완전히 같은 단어를 나타내면 금고가 열린다.

바퀴 하나를 왼쪽이나 오른쪽으로 360/m360/m도 돌리는 데는 11초가 걸린다. 금고를 여는 데 필요한 최소 시간을 구하여라.

입력

첫째 줄에 두 정수 nnmm이 공백 하나로 구분되어 주어진다 (2n,m10000002 \le n, m \le 1\,000\,000). 각각 자물쇠에 달린 바퀴의 수와 각 바퀴에 적힌 단어의 길이를 뜻한다.

둘째 줄에 길이가 mm인 단어 s1s2sms_1 s_2 \dots s_m이 주어지며, 알파벳 대문자로만 이루어져 있다.

셋째 줄에 nn개의 정수 o1,o2,,ono_1, o_2, \dots, o_n이 공백 하나로 구분되어 주어진다 (0oi<m0 \le o_i < m). oi=ko_i = kii번째 바퀴가 기준 위치에서 왼쪽으로 kk칸 돌아가 있다는 뜻이며, 이때 그 바퀴는 sk+1sk+2sms1s2sks_{k+1} s_{k+2} \dots s_m s_1 s_2 \dots s_k를 나타낸다. 예를 들어 oi=0o_i = 0이면 그 바퀴는 전혀 돌아가 있지 않다.

출력

금고를 여는 데 필요한 최소 시간(초)을 정수 하나로 출력한다.

힌트

왼쪽으로 한 칸 돌리는 것과 오른쪽으로 한 칸 돌리는 것은 서로 반대 방향의 조작이다. 어떤 바퀴가 지금 OWIKSL을 나타내고 있다고 하자. 이 바퀴를 왼쪽으로 한 칸 돌리면 WIKSLO가 되고, 오른쪽으로 한 칸 돌리면 LOWIKS가 된다. 두 바퀴는 나타내는 단어가 완전히 같을 때에만 서로 맞춰진 것으로 본다. 따라서 단어에 반복되는 구조가 있으면 서로 다른 여러 회전이 같은 모습을 만들 수도 있다.