#include<iostream>
#include<vector>
#include<algorithm>
#include<map>
#include<string>
using namespace std;
int n,k;
string cards[10];
bool used[10];
map<string,int>memo;
void func(int m,string str){
    if(m==k){
        memo[str]=1;
        return;
    }

    for(int i=0;i<n;i++){
        if(!used[i]){
            string _str=str+cards[i];
            used[i]=true;
            func(m+1,_str);
            used[i]=false;
        }
    }

}
int main(){
    while(cin>>n>>k,n or k){
        for(int i=0;i<n;i++)cin>>cards[i];
        fill(used,used+10,false);
        memo.clear();
        func(0,"");
        cout<<memo.size()<<endl;
    }
}