#P100142. 全新的问题

全新的问题

描述

在一些人中间广泛知晓的白俄罗斯体育程序员Lesha决定赚点钱,买一个大一平方米的公寓。为了实现这个目标,他想在Torcoder.com网站上举办一个超级评定赛(SRM)。但是有个问题——严格的Torcoder协调员Ivan不接受任何Lesha的问题,称其中的每个问题为冒犯性词汇“duped”(即,重复的)。有一天,他们几乎因为Ivan不接受又一个问题而争吵了一次。

你被邀请作为一个公正的法官,判断问题是否真的是全新的,或者Ivan是对的,这个问题与之前的SRMs中的某些问题有些相似。

你将得到Lesha的问题描述和Torcoder.com存档问题的描述。每个问题的描述都是一系列单词。此外,保证Lesha的问题中没有重复的单词,而存档问题的描述中可能包含任意数量的重复单词。

Lesha的问题与某个存档问题之间的“相似度”可以如下找到。在Lesha的问题的所有单词的排列中,我们选择在存档问题中作为子序列出现的排列。如果有多个这样的排列,我们选择具有最小反转次数的排列。然后,问题的“相似度”可以写成 ,其中 n 是Lesha的问题中的单词数,x 是所选排列中的反转次数。请注意,“相似度”p始终是正整数。

如果Ivan的存档中没有一个问题包含Lesha的问题的单词排列作为子序列,那么这个问题被称为全新的

帮助这些男孩,确定所提出的问题是新问题,还是指出存档中与Lesha的问题最相似的问题,否则。

第一行包含一个整数 n1 ≤ n ≤ 4)——Lesha的问题中的单词数。第二行包含 n 个以空格分隔的单词——问题的简短描述。

第三行包含一个整数 m1 ≤ m ≤ 10)——Torcoder.com存档中的问题数。接下来的 m 行包含问题的描述,格式为“k s1 s2 ... sk”,其中 k1 ≤ k ≤ 20)是问题中的单词数,si 是问题描述的一个单词。

所有问题描述中的单词都不超过10个小写英文字母。

如果Lesha的问题是全新的,输出字符串“Brand new problem!”(不带引号)。

否则,在第一行上打印与Lesha的问题最相似的存档问题的索引。如果有多个这样的问题,请打印索引最小的一个。在第二行上打印一个由字符[:,字符|重复 p 次,和字符:]组成的字符串,其中p是此问题与Lesha的问题之间的“相似度”。存档中的问题从输入中给出的顺序开始编号,从一开始。

输入

第一行包含一个整数 n1 ≤ n ≤ 4)——Lesha的问题中的单词数。第二行包含 n 个以空格分隔的单词——问题的简短描述。

第三行包含一个整数 m1 ≤ m ≤ 10)——Torcoder.com存档中的问题数。接下来的 m

行包含问题的描述,格式为“k s1 s2 ... sk”,其中 k1 ≤ k ≤ 20)是问题中的单词数,si 是问题描述的一个单词。

所有问题描述中的单词都不超过10个小写英文字母。

</p>

输出

如果Lesha的问题是全新的,输出字符串“Brand new problem!”(不带引号)。

否则,在第一行上打印与Lesha的问题最相似的存档问题的索引。如果有多个这样的问题,请打印索引最小的一个。在第二行上打印一个由字符[:,字符|重复 p 次,和字符:]组成的字符串,其中p是此问题与Lesha的问题之间的“相似度”。存档中的问题从输入中给出的顺序开始编号,从一开始。

4
find the next palindrome
1
10 find the previous palindrome or print better luck next time
3
add two numbers
3
1 add
2 two two
3 numbers numbers numbers
4
these papers are formulas
3
6 what are these formulas and papers
5 papers are driving me crazy
4 crazy into the night
3
add two decimals
5
4 please two decimals add
5 decimals want to be added
4 two add decimals add
4 add one two three
7 one plus two plus three equals six
1
[:||||||:]
Brand new problem!
1
[:||||:]
3
[:|||:]

注意

让我们提醒您,反转次数是排列中不按其原始顺序排列的单词对的数量。因此,例如,如果原始问题是“add two numbers”,那么排列“numbers add two”包含两个反转次数——单词“numbers”和“add”的对,“numbers”和“two”的对。

序列 b1,  b2,  ...,  bk 是序列 a1, a2,  ...,  an 的一个子序列,如果存在这样一个索引集合 1 ≤ i1 <  i2 < ...   < ik ≤ n,使得aij  =  bj(换句话说,如果序列 b 可以通过删除 a 的某些元素而获得)。

在第一个测试案例中,第一个问题包含“find the palindrome next”排列作为子序列,其中反转次数等于1(单词“palindrome”和“next”)。

在第二个测试案例中,没有一个问题包含Lesha问题的单词排列作为子序列。