Description
Adera 是 Microsoft Windows 8 应用商店中的一款Xbox 解谜游戏,主线以女主角 Jane
Sinclair 的探险经历展开。随着探险的不断深入,Jane Sinclair 获得的物品越来越多,因此她
急需一套物品评估查询的系统。
Jane Sinclair 身上有 n 件物品,编号为 0~n-1,每件物品有一个不同于其它物品的价值,
并且可以用一些小写英文字母构成的单词来描述这件物品。Jane Sinclair 想通过这套系统查
m条信息,每条查询包含一个整数 t 和一个字符串 s。如果描述一件物品的单词中,有以
s 为前缀的单词,那么这件物品是对Jane Sinclair 有用的。她想知道在这条查询中,对她有
用的物品一共有多少个,并且她还想了解对她有用的物品中价值前 t 大的物品的编号是什么。
现在就请你帮忙设计一下这个系统吧。
Input
第一行两个整数 n,m,分别表示物品个数和查询条数。
接下来 n 行,每行首先是一个整数 rating ,表示该物品的价值,然后是一个整数k,表示描述该物品的单词个数;接下来 k 个小写英文字母构成的字符串,描述这件物品。
接下来 m 行,每行一个整数 ti和一个字符串 si,表示一条询问。
Output
对于每条询问,首先输出在这次询问中对Jane Sinclair有用的物品总个数 tot;然后按顺
序输出 t 个整数,表示对她有用的物品中价值前t大的物品的编号。如果 t>tot,只需输出tot
个即可。每行内相邻两个整数之间用一个空格隔开,行末是一个回车符,没有空格。
Sample Input
3 31 1 admin
2 2 freda adera
3 1 adver
10 ad
1 f
2 miao
Sample Output
3 2 1 01 1
0
Hint
对于 100%的数据,1<=n,m<=100000 ,0<rating<=10^9,每两件物品的 rating 均不相同,
描述物品的所有单词总长度不超过100000,所有询问的 s的总长度不超过 100000,所有询
问的 t的和不超过 500000。