문제
하나코는 카드 \(n\)장(\(4 \le n \le 10\))을 늘어놓고 놀고 있다. 각 카드에는 \(1\) 이상 \(99\) 이하의 정수가 하나씩 적혀 있다. 하나코는 이 카드 가운데 \(k\)장(\(2 \le k \le 4\))을 골라 가로로 한 줄로 나열해 정수를 만들기로 했다. 만들 수 있는 정수는 모두 몇 종류일까. 예를 들어 카드가 \(1, 2, 3, 13, 21\)의 \(5\)장이고 그중 \(3\)장을 고른다고 하자. \(2, 1, 13\)을 이 순서로 놓으면 정수 \(2113\)을 만들 수 있다. \(21, 1, 3\)을 이 순서로 놓아도 같은 정수 \(2113\)이 된다. 이렇게 서로 다른 카드 고르기에서도 같은 정수가 나올 수 있다. 카드 \(n\)장에 적힌 정수가 주어질 때, 그중 \(k\)장을 골라 가로로 나열해 만들 수 있는 정수의 개수를 구하는 프로그램을 작성하라. |
입력
입력은 다음 형식으로 주어진다.
\(n\)
\(k\)
\(a_1\)
\(a_2\)
\(\vdots\)
\(a_n\)
- 입력은 \(2+n\)줄이다.
- 첫째 줄에 카드 장수 \(n\)이 주어진다.
- 둘째 줄에 고를 장수 \(k\)가 주어진다.
- \(2+i\)번째 줄(\(1 \le i \le n\))에 \(i\)번째 카드에 적힌 정수가 주어진다.
- \(4 \le n \le 10\)
- \(2 \le k \le 4\)
- 각 카드에 적힌 수는 \(1\) 이상 \(99\) 이하이다.
- 입력되는 값은 모두 정수이다.
출력
다음 형식으로 출력한다.
첫째 줄에 하나코가 만들 수 있는 정수의 개수를 출력한다.
예시 1
입력
4
2
1
2
12
1
출력
7
설명
\(1, 2, 12, 1\)의 \(4\)장에서 \(2\)장을 골라 나열하면 \(11, 12, 21, 112, 121, 122, 212\)의 \(7\)가지이다.
예시 2
입력
6
3
72
2
12
7
2
1
출력
68