H. 奶龙背单词

Medium

时间限制:3500 ms

内存限制:512 MiB

题面

奶龙要准备高考,它发誓要通过努力学习考上美丽的华东师范大学,然后加入计算机科学与技术学院学习计算机之美。

在学习英语的过程中,奶龙有 nn 个单词要背,但它觉得逐个背诵太累了,就想通过一篇文章中的一段来记住单词。

文章由 mm 个单词构成,奶龙想在文章中找出连续的一段,其中包含最多的它想要背的单词(重复的只算一个)。并且在

背诵的单词量尽量多的情况下,还要使选出的文章段落尽量短,这样奶龙就可以用尽量短的时间学习尽可能多的单词了。

每个单词仅包含小写字母。

输入格式

11 行一个数 nn,接下来 nn 行每行是一个长度不超过 1010 的字符串,表示一个要背的单词。

接着是一个数 mm,然后是 mm 行长度不超过 1010 的字符串,每个表示文章中的一个单词。

输出格式

输出共 22 行。第 11 行为文章中最多包含的要背的单词数,第 22 行表示在文章中包含最多要背单词的最短的连续段的长度。

样例

输入

3
hot
dog
milk
5
hot
dog
dog
milk
hot

输出

3
3

提示

数据规模与约定

  • 对于 30%30\% 的数据,n50n \le 50m500m \le 500
  • 对于 60%60\% 的数据,n300n \le 300m5000m \le 5000
  • 对于 100%100\% 的数据,1n10001 \le n \le 10001m1051 \le m \le 10^5

样例解释

要背的单词有 3 个: hot dog milk

文章中的 5 个单词依次为: hot dog dog milk hot

这 3 个要背的单词都在文章中出现过:

  • hot 出现过;
  • dog 出现过;
  • milk 出现过。

所以文章中最多包含的要背单词数为 3,第一行输出 3

接下来需要找一个最短的连续片段,使得这个片段中也包含最多的要背单词,也就是同时包含 hotdogmilk

例如, 从第 1 个单词到第 4 个单词这一段是: hot dog dog milk

从第 3 个单词到第 5 个单词这一段是: dog milk hot 这两段都包含了所有要背诵的单词,但是第二段长度为 3 并且小于第一段长度为 4,因此第二段更优。

同时你无法找到更优的连续段,所以最短连续段的长度为 3,第二行输出 3