编程题
### 问题描述
小明有 $n$ 张卡片,第 $i$ 张卡片上有一个数字 $a_i$ 。丛雨在里面选出了 $k$ 张,按照某种顺序依次排列成一个数。
比如小明选出了 $3$ , $13$ , $1$ 这三张卡片,丛雨就可以排列成 `3131` 、 `3113` 、 `1331` 、`1313` 、 `1133` 这五个数。
你需要帮小明求出对于所有选出 $k$ 张卡片的方案,总共能拼成多少种不同的数字?
### 输入格式
第一行两个整数 $n$ , $k$ ,表示卡片的个数和选出卡片的张数。
接下来一行 $n$ 个空格分隔的整数 $a_1, … , a_n$,表示每张卡片上的数字。
### 输出格式
输出一行一个整数,表示小明总共能拼成多少种不同的数字。
### 输入样例
```
6 4
12 23 13 1 2 3
```
### 输出样例
```
314
```
### 数据范围
对于 $20\%$ 的数据,有 $1 \leq n \leq 6$,$k = 1$。
对于 $40\%$ 的数据,有 $1 \leq n \leq 6$。
对于再 $20\%$ 的数据,所有数相同。
对于 $100\%$ 的数据,有 $1 \leq n \leq 10$,$1 \leq k \leq 4$, $1 \leq a_i \leq 99$。