KOSARE  KOSARE
Mirko found N boxes with various forgotten toys at his attic. There are M different toys, numbered 1
through M, but each of those can appear multiple times across various boxes.
Mirko decided that he will choose some boxes in a way that there is at least one toy of each kind
present, and throw the rest of the boxes away.
Determine the number of ways in which Mirko can do this.
Input
The first line of input contains two integers N and M (1 ≤ N ≤ 1 000 000, 1 ≤ M ≤ 20).
Each of the following N lines contains an integer K_{i} (0 ≤ K_{i} ≤ M) followed by Ki distinct integers from
interval [1, M], representing the toys in that box.
Output
The first and only line of output should contain the requested number of ways modulo 1 000 000 007.
Example
Input 1:
3 3
3 1 2 3
3 1 2 3
3 1 2 3
Output 1:
7
Input 2:
3 3
1 1
1 2
1 3
Output 2:
1
Input 3:
4 5
2 2 3
2 1 2
4 1 2 3 5
4 1 2 4 5
Output 3:
6
hide comments
TINYJR:
20130102 05:45:51
Fread is expected in this problem.


(Tjandra Satria Gunawan)(æ›¾æ¯…æ˜†):
20121231 19:20:08
TLE! 
Added by:  UNI Training 
Date:  20121231 
Time limit:  1s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ASM64 
Resource:  COCI 20112012 Contest #6 