Biljana loves making crosswords. Her favourite type is the so called *anagram crossword*, where each clue is an anagram of the required solution.

She has a set of words that she thinks would be good candidates for her next puzzle. We say that two words are *similar* if one can be obtained from the other by rearranging the letters (i.e., they are anagrams). She wants to select a subset of her words, such that there are **exactly pairs of similar words** in that subset. Help Biljana determine the number of such subsets.

#### Input Specification

The first line contains integers and , the number of words and the required number of similar pairs.

Each of the following lines contains a word consisting of at most lowercase letters. All words will be distinct.

#### Output Specification

Output the number of described subsets modulo .

#### Constraints

Subtask | Points | Constraints |
---|---|---|

1 | 10 | |

2 | 30 | |

3 | 70 | No additional constraints. |

#### Sample Input 1

```
3 1
ovo
ono
voo
```

#### Sample Output 1

`2`

#### Explanation for Sample Output 1

Subsets with exactly one similar pair are {`ovo`

, `ono`

, `voo`

} and {`ovo`

, `voo`

}.

#### Sample Input 2

```
5 2
trava
vatra
vrata
leo
ole
```

#### Sample Output 2

`3`

#### Sample Input 3

```
6 3
mali
lima
imal
je
sve
ej
```

#### Sample Output 3

`6`

## Comments