세포 폭발
시간 제한2초메모리 제한512 MB
세포 분열 규칙과 목표 수열 S가 주어졌을 때, 웜의 세포 수열에 S가 연속으로 처음 나타나는 시점을 구합니다. 나타나지 않으면 -1을 출력합니다.
문제
바이트세포충은 버려진 컴퓨터에 사는 원시적인 생물이다. 세포들이 순서대로 늘어선 열이며, 각 세포는 가지 종류 중 하나에 속한다. 종류는 설명을 쉽게 하려고 1부터 까지 번호로 부른다. 바이트세포충은 매우 빠르게 복제한다.
태어난 첫 분에는 종류 1인 세포 하나로 이루어져 있다. 매분 세포 복제가 일어나서, 각 세포는 적어도 두 개 이상의 세포 열로 나뉜다. 분열 결과 서로 다른 종류의 세포가 생길 수 있지만, 종류 인 세포는 항상 같은 열 으로 나뉜다. 분에 세포 열이 라면, 분에는 를 차례로 이어 붙인 열이 된다.
세포 열 안에 정해진 열 가 연속한 구간으로 들어 있으면 바이트세포충은 성숙한다. 는 정해진 종류의 세포가 차례로 놓인 열이다.
바이트 연구자들은 바이트세포충의 생애를 더 자세히 알고 싶어 한다. 특히 생애가 시작되어 성숙하기까지 걸리는 시간을 알고 싶어 한다.
입력
첫 줄에 두 정수 과 이 주어진다 (, ). 은 세포 종류의 개수이고, 은 성숙 조건이 되는 열 의 길이이다.
다음 개의 줄은 세포 분열을 나타낸다. 번째 줄은 정수 ()로 시작하고, 이어서 를 이루는 정수 ()가 나온다. 모든 의 합은 1000을 넘지 않는다.
마지막 줄에는 를 이루는 세포 종류 개가 1부터 사이의 정수로 주어진다.
출력
바이트세포충이 처음으로 성숙하는 분의 번호를 출력한다. 끝내 성숙하지 않으면 을 출력한다.
힌트
두 번째 분에 바이트세포충은 이다. 세 번째 분에는 가 되며, 여기에 이 들어 있으므로 성숙한다.