#include <iostream>
#include <algorithm>
#include <cassert>
#include <cctype>
#include <complex>
#include <cstdio>
#include <map>
#include <math.h>
#include <queue>
#include <set>
#include <string>
#include <vector>
using namespace std;

int n,k,perm[10];
string s[10];

int fact(int n){
	if(n==0)return 1;
	return n*fact(n-1);
}

int main(){
	while(cin>>n>>k){
		if(!n)return 0;
		set<string> t;
		for(int i=0;i<n;i++)cin>>s[i];
		int wait=0;
		for(int i=0;i<n;i++)perm[i]=i;
		do{
			if(wait){wait--;continue;}
			string a="";
			for(int i=0;i<k;i++)a+=s[perm[i]];
			t.insert(a);
			wait=fact(n-k)-1;
		}while(next_permutation(perm,perm+n));
		cout<<t.size()<<endl;
	}
}