#P1241. 社会集群

社会集群

题目描述

社交网络平台薯条网在注册账号时,会要求你填写自己的兴趣爱好,以便让你找到一些具有相同兴趣爱好的潜在朋友。

不同于微信的朋友圈只能看到好友的朋友圈,薯条网为了给大家更好地交友体验,采用社会集群的方式来构建“朋友圈”,会把一群有共同

爱好的人聚在一个集合中,例如小明和小王喜欢打游戏,他们俩会在一个圈子中,小王和小聪喜欢溜冰,他们俩也会在一个集合中,并且

小聪还可以在这个圈子中和小明进行交流。

给定薯条网社交网络中所有人的兴趣爱好,请你找到所有社会群集。

输入描述

第一行包含一个正整数n(1n1000)n(1\le n\le 1000),表示社交网络的人数。

所有人的编号为1~NN

接下来NN行,每行包含一个人的爱好信息,格式如下

每一行的第一个数字为第ii个人的爱好数量ki(1ki1000)k_i(1\le k_i\le 1000)

接下来会输入kik_i个数字,每一个数字hi[j](1hi[j]1000)h_i[j](1\le h_i[j]\le 1000)表示第 jj个爱好的编号

输出描述

第一行输出总集群数量。

第二行按非递增顺序输出每个集群的人数。

数字之间空格隔开,行尾不得有多余空格。

样例

输入

8
3 2 7 10
1 4
2 5 3
1 4
1 3
1 4
4 6 8 1 5
1 4

输出

3
4 3 1

样例解释

共3个集群:

  • 4人集群 {2,4,6,8},他们都有共同的爱好4。
  • 3人集群 {3,5,7},其中3和5有共同的爱好3,3 和7有共同的爱好5。
  • 1人集群{1}。