GT and strings

Accepts: 1
Submissions: 57
Time Limit: 4000/2000 MS (Java/Others)
Memory Limit: 262144/262144 K (Java/Others)
问题描述
读入$N$个字符串$S_1..S_n$,设$L$为他们的总长。
有$Q$个询问$(x,y)$,对于每次询问完成以下任务:
①$S_x$是否是$S_y$的子序列。 
②$S_x$是否是$S_y$的子串。
如果是输出$1$否则输出$0$
输入描述
第一行一个数$T$表示数据组数。

对于每一组数据:
第一行两个数$N$和$Q$。
接下来$N$行每行一个字符串$S_i$。字符集为$'a'..'z'$。
接下来$Q$行,每行两个数$x$和$y$表示询问。

$T \leq 5$。$N,L,Q \leq 100000$。每个字符串长度至少为$1$。
有$60\%$的数据$L \leq 100$,$Q \leq 1000$。

hack时建议输出最后一行的行末回车;每一行的结尾不要输出空格。
输出描述
对于每组测试数据仅输出一行01串。
该行第$2*i-1$个字符表示第$i$个询问①的答案;
第$2*i$个字符表示第$i$个询问②的答案。
输入样例
1
6 6
orz
stilwell
skydec
se
dec
orz
1 2
1 3
1 6
4 1
4 2
6 1
输出样例
000011001011