描述

Adera是Microsoft Windows 8应用商店中的一款Xbox解谜游戏,主线以女主角Jane Sinclair的探险经历展开。随着探险的不断深入,Jane Sinclair获得的物品越来越多,因此她急需一套物品评估查询的系统。

Jane Sinclair身上有n件物品,编号为0~n-1,每件物品有一个不同于其它物品的价值,并且可以用一些小写英文字母构成的单词来描述这件物品。Jane Sinclair想通过这套系统查询m条信息,每条查询包含一个整数t和一个字符串s。如果描述一件物品的单词中,有以s为前缀的单词,那么这件物品是对Jane Sinclair有用的。她想知道在这条查询中,对她有用的物品一共有多少个,并且她还想了解对她有用的物品中价值前t大的物品的编号是什么。现在就请你帮忙设计一下这个系统吧。

输入格式

第一行两个整数n,m,分别表示物品个数和查询条数。

接下来n行,每行首先是一个整数rating,表示该物品的价值,然后是一个整数k,表示描述该物品的单词个数;接下来k个小写英文字母构成的字符串,描述这件物品。

接下来m行,每行一个整数ti和一个字符串si,表示一条询问。

输出格式

对于每条询问,首先输出在这次询问中对Jane Sinclair有用的物品总个数tot;然后按顺序输出t个整数,表示对她有用的物品中价值前t大的物品的编号。如果t>tot,只需输出tot个即可。每行内相邻两个整数之间用一个空格隔开,行末是一个回车符,没有空格。

样例输入

样例输入1:
2 1
100 2 adera adare
20 2 adear areda
1 ad 
样例输入2:
3 3
1 1 admin
2 2 freda adera
3 1 adver
10 ad
1 f
2 miao     

样例输出

样例输出1:
2 0 
样例输出2:
3 2 1 0
1 1
0 
    

数据范围与约定

对于30%的数据,1<=n,m<=1000。

对于100%的数据,1<=n,m<=100000,0<rating<=10^9,每两件物品的rating均不相同,描述物品的所有单词总长度不超过100000,所有询问的s的总长度不超过100000,所有询问的t的和不超过500000。