Phone Numbers

题意翻译

题目描述: Vasya有几本电话簿,他记录了他的朋友的电话号码。他的每个朋友可以有一个或几个电话号码。 Vasya决定组织有关朋友电话号码的信息。您将获得n个字符串 - 来自Vasya电话簿的所有条目。每个条目都以朋友的名字开头。然后跟随当前条目中的电话号码数量,然后是电话号码本身。有可能几部相同的电话被记录在同一记录中。 Vasya还认为,如果电话号码a是电话号码b的后缀(即,电话号码b以a结尾),并且两个电话号码都由Vasya写成同一个人的电话号码,则记录a并且没有城市代码,它是不被考虑在内的。 任务是输出有关Vasya朋友电话号码的组织信息。两个不同的人可能有相同的号码。如果一个人有两个数字x和y,并且x是y的后缀(即y以x结尾),那么您不应该输出数字x。如果Vasya电话簿中的朋友的号码以相同的格式记录多次,则有必要将其记录一次。 阅读样例以更好地理解输出的语句和格式。 输入格式: 第一行包含整数n(1<=n<=20) 表示Vasya电话簿中的条目数。 下面的n行后面是描述声明中描述的格式的记录。 Vasya的朋友的名字是非空字符串,其长度不超过10,只包含小写英文字母。 一个条目中的电话号码不少于1不超过10。电话号码只包含数字。如果您将电话号码表示为字符串,则其长度将在1到10的范围内。电话号码可以包含前导零。 输出格式: 输出出有关Vasya朋友电话号码的订购信息。 首先输出m表示在Vasya电话簿中找到的朋友的数量。 下列m行必须包含以下格式的条目“姓名 电话号码的个数 电话号码”。电话号码应该用空格隔开。每个记录必须包含当前朋友的所有电话号码。 条目可以以任意顺序显示,一个记录的电话号码也可以以任意顺序打印。

题目描述

Vasya has several phone books, in which he recorded the telephone numbers of his friends. Each of his friends can have one or several phone numbers. Vasya decided to organize information about the phone numbers of friends. You will be given $ n $ strings — all entries from Vasya's phone books. Each entry starts with a friend's name. Then follows the number of phone numbers in the current entry, and then the phone numbers themselves. It is possible that several identical phones are recorded in the same record. Vasya also believes that if the phone number $ a $ is a suffix of the phone number $ b $ (that is, the number $ b $ ends up with $ a $ ), and both numbers are written by Vasya as the phone numbers of the same person, then $ a $ is recorded without the city code and it should not be taken into account. The task is to print organized information about the phone numbers of Vasya's friends. It is possible that two different people have the same number. If one person has two numbers $ x $ and $ y $ , and $ x $ is a suffix of $ y $ (that is, $ y $ ends in $ x $ ), then you shouldn't print number $ x $ . If the number of a friend in the Vasya's phone books is recorded several times in the same format, it is necessary to take it into account exactly once. Read the examples to understand statement and format of the output better.

输入输出格式

输入格式


First line contains the integer $ n $ ( $ 1<=n<=20 $ ) — number of entries in Vasya's phone books. The following $ n $ lines are followed by descriptions of the records in the format described in statement. Names of Vasya's friends are non-empty strings whose length does not exceed $ 10 $ . They consists only of lowercase English letters. Number of phone numbers in one entry is not less than $ 1 $ is not more than $ 10 $ . The telephone numbers consist of digits only. If you represent a phone number as a string, then its length will be in range from $ 1 $ to $ 10 $ . Phone numbers can contain leading zeros.

输出格式


Print out the ordered information about the phone numbers of Vasya's friends. First output $ m $ — number of friends that are found in Vasya's phone books. The following $ m $ lines must contain entries in the following format "name number\_of\_phone\_numbers phone\_numbers". Phone numbers should be separated by a space. Each record must contain all the phone numbers of current friend. Entries can be displayed in arbitrary order, phone numbers for one record can also be printed in arbitrary order.

输入输出样例

输入样例 #1

2
ivan 1 00123
masha 1 00123

输出样例 #1

2
masha 1 00123 
ivan 1 00123 

输入样例 #2

3
karl 2 612 12
petr 1 12
katya 1 612

输出样例 #2

3
katya 1 612 
petr 1 12 
karl 1 612 

输入样例 #3

4
ivan 3 123 123 456
ivan 2 456 456
ivan 8 789 3 23 6 56 9 89 2
dasha 2 23 789

输出样例 #3

2
dasha 2 23 789 
ivan 4 789 123 2 456