상근이는 카드 $n$($4 \le n \le 10$)장을 바닥에 나란히 놓고 놀고 있다. 각 카드에는 $1$ 이상 $99$ 이하의 정수가 하나씩 적혀 있다. 상근이는 이 카드 중에서 $k$($2 \le k \le 4$)장을 골라, 고른 순서대로 왼쪽에서 오른쪽으로 늘어놓아 하나의 정수를 만들려고 한다. 상근이가 만들 수 있는 서로 다른 정수는 모두 몇 가지일까?
예를 들어 카드가 5장 있고 적힌 수가 1, 2, 3, 13, 21이라고 하자. 이 중 3장을 골라 정수를 만들 때, 2, 1, 13을 이 순서로 늘어놓으면 2113이 되고, 21, 1, 3을 이 순서로 늘어놓아도 2113이 된다. 이처럼 서로 다른 선택이 같은 정수를 만들 수도 있으므로, 중복을 제외한 서로 다른 정수의 개수를 세어야 한다.
$n$장의 카드에 적힌 수가 주어졌을 때, 그중 $k$장을 골라 만들 수 있는 서로 다른 정수의 개수를 구하는 프로그램을 작성하시오.
첫째 줄에 카드의 개수 $n$이, 둘째 줄에 고를 카드의 개수 $k$가 주어진다. 셋째 줄부터 $n$개의 줄에 걸쳐 각 카드에 적힌 수가 한 줄에 하나씩 주어진다.
상근이가 만들 수 있는 서로 다른 정수의 개수를 첫째 줄에 출력한다.
카드가 $1, 2, 12, 1$의 4장이고 $k = 2$일 때, 상근이는 $11, 12, 21, 112, 121, 122, 212$의 7가지 정수를 만들 수 있다.