Google Hack
题号:NC20643
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

为了避免给广大读者带来误导(做坏事),题目背景被出题人独自享用了,如果仍想被出题人误导,可以自行百度题目。

我们定义google hack的语法为:命令类型 + ”:” + 关键字,如“inurl:nowcoder.com”,或者“intext:how to learn English”,其中关键字可以包含两种特殊标识:“-”和“*”。

我们要做的就是为搜索引擎写一个程序来实现定向搜索!

我们已知google hack的语法有以下四种:

intext:xxx    表示搜索页面包含“xxx”的所有网页

inurl:xxx    表示搜索网址包含“xxx”的所有网页

-xxx        表示搜索限定位置不包含“xxx”的所有网页

x*x        表示搜索限定位置包含“x*x”的所有网页,其中*可以是任何一个字符

输入描述:

第一行有两个正整数n(n≤300)和m(m≤100),分别表示网页个数和Google Hack语句数。

接下来n行,每两行包含一个网页,第一行是该网页的网址,即url,第二行是该网站的内容,其中网址和网站内容均可能包含大写字母、小写字母、数字、’.’。

接下来m行,每行一个搜索语句,只可能包含两种命令:inurl和intext,每当读到一个命令关键词(inurl或intext),后面一定会紧跟一个”:”,之后再紧跟一个字符串,可能包含大写字母、小写字母、数字、’*’、’-’、’.’,再之后是一个空格,表示该命令结束,空格后面可以会有下一条命令,并且同一行内所有的搜索限制条件取交集关系。

每行命令不会超过100个字符

每行网页信息(网址和内容)不会超过3000个字符

输出描述:

对于每个搜索语句,输出一行表示搜索到的网址,相邻两个网址之间用空格隔开。网址请按照输入的顺序输出。

如果某个命令没有搜索到网址,则该行输出“Not Found”。
示例1

输入

复制
3 5
www.apple.com
apple
www.baidu.com
8aidu
www.nowcoder.com
ACM
inurl:apple 
inurl:com intext:a
inurl:www inurl:a* intext:*a
inurl:-a
inurl:-w

输出

复制
www.apple.com 
www.apple.com www.baidu.com
www.baidu.com
www.nowcoder.com
Not Found

备注:

为了避免出现卡时数据,本题数据随机!