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

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