Alice 正在参加一场有许多国家代表队参加的体育赛事,对她来说,支持每一个国家非常重要。
共有 $N$ 个国家参赛,她有两种支持国家的方式:要么在身上画上该国的国旗,要么佩戴一枚带有该国国名的徽章。Alice 有一份清单,列出了每个国家制作国旗所需的颜色。所有国旗中可能出现的颜色总共有 $M$ 种,在 Alice 的清单中,每种颜色都用 $1$ 到 $M$ 之间的整数表示。
每支蜡笔(用于画国旗)和每枚徽章的成本均为 $1$,但她的预算很紧张……你能帮她找出支持所有国家的最低花费吗?
输入格式
第一行包含两个用空格分隔的数字 $N$ 和 $M$。接下来有 $2N$ 行,按对分组;第 $(2i - 1)$ 行和第 $2i$ 行代表第 $i$ 个国家。更具体地说,第 $(2i - 1)$ 行包含一个整数 $k_i$:第 $i$ 个国家国旗中的颜色数量。然后,第 $2i$ 行包含 $k_i$ 个用空格分隔的数字 $c_{i,1}, c_{i,2}, \dots, c_{i,k_i}$;这些是第 $i$ 个国家国旗中的颜色。
输出格式
输出应包含一行,由一个数字组成:Alice 为支持所有国家所需花费的蜡笔和徽章的最小总金额。
数据范围
- $1 \leqslant N \leqslant 1000$
- $1 \leqslant M \leqslant 100$
- $1 \leqslant k_i \leqslant M$ 对于所有 $i \leqslant N$
- $1 \leqslant c_{i,j} \leqslant M$ 对于所有 $i \leqslant N$ 和 $j \leqslant k_i$
- 对于所有 $i \leqslant N$,第 $i$ 个国家的 $k_i$ 个颜色编号 $c_{i,j}$ 两两不同。
样例
输入格式 1
7 6 3 1 4 5 3 1 4 5 3 1 4 5 3 3 4 5 3 3 4 5 3 3 4 5 3 2 5 6
输出格式 1
5
说明 1
前三个国家可能是法国、荷兰和捷克共和国,它们都由蓝色 (1)、白色 (4) 和红色 (5) 表示。接下来的三个国家可能是意大利、匈牙利和保加利亚,颜色为绿色 (3)、白色 (4) 和红色 (5)。最后一个国家可能是德国,颜色为黑色 (2)、红色 (5) 和黄色 (6)。最低成本为 5:我们购买四支蜡笔(蓝色、绿色、白色和红色)和一枚徽章(用于德国)。
输入格式 2
8 12 2 7 9 12 1 2 3 4 5 6 7 8 9 10 11 12 2 7 9 2 7 9 3 3 4 11 2 7 9 2 7 9 2 7 9
输出格式 2
4
说明 2
我们可以购买颜色为 7 和 11 的两支蜡笔,并购买两枚徽章,总成本为 4。所有 6 个国旗颜色包含 7(红色)和 11(白色)的国家可能是加拿大、印度尼西亚、日本、马耳他、摩纳哥和波兰。伯利兹的国旗有 12 种颜色,包括红色和白色,第五个国家可能是博茨瓦纳。