在完成了清理客户数据库中重复用户这一出色工作后,你的老板迫切希望你能对公司的 SPAM(System for Publishing Amazing Marketing,奇妙营销发布系统)进行改进,从而再次给他留下深刻印象。
尽管营销活动对客户非常有用,但客服部门还是收到了一些投诉,指出发送了太多的消息,甚至某些客户会多次收到同一条消息。
SPAM 是基于邮件列表的。每个邮件列表由客户电子邮件和/或其他邮件列表组成。客户电子邮件可以在任何时间点被添加到现有的邮件列表中,而邮件列表只有在创建时才能被添加到任意数量的现有邮件列表中。注意,不可能同时创建多个邮件列表。
当向一个邮件列表发送消息时,系统会将该消息发送给列表中的每个地址。如果列表中的地址是客户电子邮件,则消息会发送到该客户电子邮件;如果地址是邮件列表,则对该邮件列表启动相同的发送过程。
出于隐私原因,在下面的示例中,邮件列表和客户电子邮件用整数表示。假设 $1$、$2$ 和 $3$ 是邮件列表,而 $4$ 和 $5$ 是客户电子邮件。此外,邮件列表 $1$ 包含邮件列表 $2$ 和 $3$,邮件列表 $2$ 包含客户电子邮件 $4$ 和 $5$,而邮件列表 $3$ 包含客户电子邮件 $4$ 和邮件列表 $2$。现在假设向邮件列表 $1$ 发送了一条消息。这意味着该列表将按上述方式进行处理,然后邮件列表 $2$ 和 $3$ 也会被处理。当处理邮件列表 $2$ 时,消息将发送给客户电子邮件 $4$ 和 $5$。当处理邮件列表 $3$ 时,第二条消息将发送给客户电子邮件 $4$,并且邮件列表 $2$ 将再次被处理,这导致第三条消息发送给客户电子邮件 $4$,第二条消息发送给客户电子邮件 $5$。因此,总共向客户电子邮件发送了五条消息。
你的任务是优化 SPAM,使得没有客户会多次收到相同的消息。作为第一步,你的老板想知道在你的改进之前和之后,发送给客户电子邮件的消息数量。在上述示例中,在你的工作完成后,应该只向客户电子邮件发送两条消息。
输入格式
第一行包含两个整数 $N$ 和 $L$($2 \le N \le 2000$,$1 \le L \le \min(N - 1, 1000)$),分别表示系统中的地址总数和作为邮件列表的地址数量。
地址用 $1$ 到 $N$ 之间的不同整数标识。从 $1$ 到 $L$ 的地址是邮件列表,其余地址是客户电子邮件。
对于 $i = 1, 2, \dots, L$,接下来的 $L$ 行中的第 $i$ 行描述了邮件列表 $i$。该行包含一个整数 $K$($1 \le K < N$),后跟 $K$ 个不同的整数 $M_1, M_2, \dots, M_K$(对于 $j = 1, 2, \dots, K$,$1 \le M_j \le N$),表示邮件列表 $i$ 包含这 $K$ 个地址。每个客户地址至少出现在一个邮件列表中。
输出格式
输出单行,包含两个整数 $B$ 和 $A$,分别表示如果向邮件列表 $1$ 发送一条消息,在改进之前和之后发送给客户电子邮件的消息数量。由于这些数字可能非常大,请输出它们模 $10^9 + 7$ 的余数。
样例
输入样例 1
5 3 2 2 3 2 4 5 2 4 2
输出样例 1
5 2
输入样例 2
15 6 1 6 7 10 11 12 13 9 7 8 5 6 14 4 5 15 2 14 15 2 4 14 2 5 4
输出样例 2
5 2
输入样例 3
10 5 4 8 9 10 3 3 9 10 6 3 8 9 7 6 2 3 6 7 8 10 5 9 10 3 1 7
输出样例 3
6 4