D - カード並べ /

Time Limit: 10 sec / Memory Limit: 256 MB

配点: 100

問題

花子さんは n(4 \leq n \leq 10) のカードを並べて 遊んでいる. それぞれのカードには 1 以上 99 以下の整数 が 1 つずつ書かれている. 花子さんは,これらのカードの中から k(2 \leq k \leq 4) を選び, 横一列に並べて整数を作ることにした. 花子さんは全部で何種類の整数を作ることができるだろうか.

例えば, 1, 2, 3, 13, 215 枚のカードが与えられ,そこから 3 枚を選び整数を作ることを考える. 2, 1, 13 をこの順に並べると,整数 2113 を作ることができる. また, 21, 1, 3 をこの順に並べても,同じ整数 2113 を作ることができる. このように,異なるカードの組み合わせから同じ整数が作られることもある.

n 枚のカードに書かれた整数が与えられたとき, その中から k 枚を選び,横一列に並べることで作ることができる整数の個数を求めるプログ ラムを作成せよ.


入力

入力は 2+n 行からなる. 1 行目にはカードの枚数 n (4 \leq n \leq 10) が, 2 行目にはカードを選ぶ 枚数 k (2 \leq k \leq 4) が書かれている. 2+i 行目 (1 \leq i \leq n) には i 枚目のカードに書かれて いる 1 以上 99 以下の整数が書かれている.

出力

出力は,花子さんが作ることができる整数の個数のみを含む 1 行からなる.


入力例 1

4
2
1
2
12
1

出力例 1

7

入力例 1 において, 1, 2, 12, 14 枚のカードの中から 2 枚を選び,横一列に並べて作ることができる整数は, 11, 12, 21, 112, 121, 122, 2127 個である.


入力例 2

6
3
72
2
12
7
2
1

出力例 2

68