区间要包含这Q个整数数值,怎么利用C语言的程序代码编写的方式实现?

Problem Description
给定一个序列,有N个整数,数值范围为[0,N)。
有M个询问,每次询问给定Q个整数,可能出现重复值。
要求找出一个最短区间,该区间要包含这Q个整数数值。
你能找的出来吗?

Input
第一行有两个整数N,M。(N<100000, M<1000)接着一行有N个整数。再有M个询问,每个询问的第一行有一个整数Q(Q<100),第二行跟着Q个整数。当N,M同时为0时,输入结束。

Output
请输出最短区间的长度。保证有解。

Sample Input
5 2
1 2 2 3 1
3
1 2 3
3
1 1 3
0 0

Sample Output
3
2