돌려 돌려 돌림판!
면접 대비시간 제한1초메모리 제한256 MB
시계 방향으로 읽은 M자리 숫자가 X 이상 Y 이하인 바퀴 시작 칸 개수를 셉니다.
문제
어느 방송 코너에서는 돌림판을 돌려 상품을 얻는다. 돌림판은 큰 원판을 등분한 모양이고, 등분된 각 칸에는 0부터 9까지의 숫자가 하나씩 적혀 있다.
게임이 시작되면 자리 수 와 가 주어진다. 두 수는 를 만족하고, 0으로 시작하기도 한다.
참가자가 돌림판을 힘차게 돌린다. 돌림판이 완전히 멈추면 12시 방향의 바늘이 어느 한 칸을 가리킨다. 그 칸부터 시계 방향으로 칸을 이어서 읽으면 자리 수 가 만들어진다. 마지막 칸을 지나면 다시 첫 칸으로 돌아가 읽는다. 이므로 같은 칸을 두 번 읽는 일은 없다.
이렇게 얻은 가 를 만족하면 게임에서 이기고 만원을 받는다.

예를 들어 이고 시계 방향으로 읽은 돌림판이 [3, 7, 8, 3, 1, 9, 2, 7]이며 , 이라고 하자. 숫자 2가 적힌 칸에서 시작하면 이고 을 만족하므로 이긴다.
돌림판의 상태와 , 가 주어질 때 게임에서 이기는 시작 칸이 몇 개인지 세는 프로그램을 작성하시오.
입력
첫 줄에 테스트케이스의 개수 가 주어진다.
각 테스트케이스의 첫 줄에는 돌림판을 나눈 칸의 개수 ()과 , 의 자릿수 (, )이 주어진다. 이어지는 세 줄에는 의 각 자리 숫자, 의 각 자리 숫자, 돌림판의 상태가 차례로 주어진다.
와 의 각 자리 숫자는 0부터 9까지의 숫자가 한 자리씩 공백으로 구분되어 주어진다.
돌림판의 상태는 어느 한 칸에서 시작해 시계 방향으로 읽은 순서대로 0부터 9까지의 숫자 개가 공백으로 구분되어 주어진다.
출력
각 테스트케이스마다 한 줄에 정답을 출력한다. 즉, 를 만족하는 자리 수 를 만드는 시작 칸이 몇 개인지 출력한다.
값이 같은 라도 시작 칸이 다르면 따로 센다. 예를 들어 와 사이에 있는 수가 123뿐인데 돌림판에서 123이 두 칸에서 읽힌다면 1이 아니라 2를 출력한다.