시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB50324221253.944%

문제

위 그림과 같이 알파벳 소문자가 한 글자씩 적힌 돌림판이 존재한다. 돌림판은 반시계 방향으로만 회전하며, 한번 회전할 때마다 시계방향으로 다음 문자를 가리킨다.

위와 같은 형태의 돌림판이 주어질 때 돌림판 문자열을 만들 수 있다. 돌림판 문자열은 처음에는 빈 문자열이며, 아래와 같은 작업을 유한 번 수행하여 만들 수 있는 문자열을 의미한다.

  1. 돌림판을 1회 회전시킨다.
  2. 아무것도 하지 않거나 문자열의 맨 끝에 돌림판이 가리키는 문자를 하나 추가한다. 돌림판 문자열이 빈 문자열일 때 돌림판이 가리키는 문자를 추가하는 경우 그 문자가 돌림판 문자열이 된다.

여러분이 할 일은 돌림판에 적힌 알파벳 소문자들이 시계 방향 순서대로 주어질 때 돌림판 문자열을 주어진 문자열 S로 만들 수 있는지, 만약 가능하다면 돌림판 문자열을 문자열 S로 만드는데 필요한 돌림판의 최소 회전 수를 구하는 것이다.

입력

첫 번째 줄에 돌림판에 적힌 알파벳 소문자의 개수 N이 주어진다.

두 번째 줄에 돌림판에 적힌 알파벳 소문자 N개가 공백 없이 시계 방향 순서대로 주어진다. 돌림판은 처음에 마지막으로 입력된 문자를 가리키고 있다.

세 번째 줄에 만들어야 하는 문자열 S의 길이 M이 주어진다.

네 번째 줄에 길이가 M인 문자열 S가 주어진다.

출력

돌림판 문자열을 문자열 S로 만들기 위해 필요한 돌림판 회전 수의 최솟값을 출력한다. 돌림판 문자열을 문자열 S로 만들 수 없다면 -1을 출력한다.

제한

  • 1 ≤ N ≤ 100
  • 1 ≤ M ≤ 100
  • S는 알파벳 소문자로만 이루어져 있다.

예제 입력 1

4
abcd
6
aacdbc

예제 출력 1

11

예제 입력 2

9
algorithm
4
gori

예제 출력 2

6

예제 입력 3

14
inhauniversity
5
igrus

예제 출력 3

-1

출처

University > 인하대학교 > 2022 IGRUS Newbie Programming Contest C번