Q10067: Playing with Wheels

在這個問題中,我們要來玩一種有4個轉輪的遊戲。數字1到9被依序(順時鐘方向)印在每一個轉輪上。4個轉輪最上方的數字形成一個4位數的數字。例如以下的圖形成 8056 這個數字。在每一個轉輪的下方有2個按鈕,按往左箭頭的按鈕一次會讓這個轉輪往左邊(逆時鐘方向)轉一個數字,而按往右箭頭的按鈕一次會讓這個轉輪往右邊(順時鐘方向)轉一個數字。

遊戲一開始時會給你一個初始的數字,以S1S2S3S4來代表各轉輪最上方的數字所形成的數字。然後會給你 n 個被禁止的數字,就是說這些數字是你在轉輪子的過程中不可以出現的數字。最後再給你一個目標數字T1T2T3T4。你的任務是寫一個程式算出要從初始數字要轉到目標數字,且過程中不可以出現被禁止的數字,最少需要按按鈕幾次?

Input

輸入的第一列有一個整數,代表以下有幾組測試資料。

每組測試資料的第一列有4個0~9的整數(以一空白分隔),代表S1S2S3S4。第二列有4個0~9的整數(以一空白分隔),代表T1T2T3T4。第三列有一個整數 n。接下來的 n 列每列有一個被禁止的數字(也是4個0~9的整數,各以一空白分隔)。

請參考Sample Input。

Output

對每組測試資料輸出一列,從初始數字要轉到目標數字,且過程中不可以出現被禁止的數字,最少需要按按鈕幾次?如果無法做到,請輸出 -1。

Sample Input Sample Output

2
8 0 5 6
6 5 0 8
5
8 0 5 7
8 0 4 7
5 5 0 8
7 5 0 8
6 4 0 8

0 0 0 0
5 3 1 7
8
0 0 0 1
0 0 0 9
0 0 1 0
0 0 9 0
0 1 0 0
0 9 0 0
1 0 0 0
9 0 0 0

14
-1