#include <bits/stdc++.h>
using namespace std;
#define pb push_back
#define REP(i, a, b) for (int i = a; i <= b; i++)
#define BACK(i, a, b) for (int i = a; i >= b; i--)
#define MOD 1000000007
#define PI 4 * atan(1)
#define sz(A) (int)A.size()
typedef long long ll;
typedef vector<int> vi;
typedef pair<int, int> pii;
typedef vector<long long> vll;
typedef long int int32;
typedef unsigned long int uint32;
typedef long long int int64;
typedef unsigned long long int uint64;
int n,k;
set<string> s;
vector<string> use;
vector<string> res;
void result(){
for(int i=1; i<res.size(); i++){
cout << res[i] << " ";
}
cout << "\n";
}
void backtrack(int i){
for(string x: use){
if(x > res[i-1]){
res.push_back(x);
if(i == k){
result();
}else{
backtrack(i+1);
}
res.pop_back();
}
}
}
void solve(int test){
cin >> n >> k;
string temp;
for(int i=0; i <n; i++){
cin >> temp;
s.insert(temp);
}
for(string x: s){
use.pb(x);
}
res.push_back("@");
backtrack(1);
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int typetest = 0;
if (typetest){
int t;
cin >> t;
cin.ignore();
REP(i, 1, t){
solve(i);
}
}
else solve(0);
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgcGIgcHVzaF9iYWNrCiNkZWZpbmUgUkVQKGksIGEsIGIpIGZvciAoaW50IGkgPSBhOyBpIDw9IGI7IGkrKykKI2RlZmluZSBCQUNLKGksIGEsIGIpIGZvciAoaW50IGkgPSBhOyBpID49IGI7IGktLSkgCiNkZWZpbmUgTU9EIDEwMDAwMDAwMDcKI2RlZmluZSBQSSA0ICogYXRhbigxKQojZGVmaW5lIHN6KEEpIChpbnQpQS5zaXplKCkKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdmVjdG9yPGludD4gdmk7CnR5cGVkZWYgcGFpcjxpbnQsIGludD4gcGlpOwp0eXBlZGVmIHZlY3Rvcjxsb25nIGxvbmc+IHZsbDsKdHlwZWRlZiBsb25nIGludCBpbnQzMjsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGludCB1aW50MzI7CnR5cGVkZWYgbG9uZyBsb25nIGludCBpbnQ2NDsKdHlwZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgaW50IHVpbnQ2NDsKaW50IG4sazsKc2V0PHN0cmluZz4gczsKdmVjdG9yPHN0cmluZz4gdXNlOwp2ZWN0b3I8c3RyaW5nPiByZXM7CnZvaWQgcmVzdWx0KCl7CiAgICBmb3IoaW50IGk9MTsgaTxyZXMuc2l6ZSgpOyBpKyspewogICAgICAgIGNvdXQgPDwgcmVzW2ldIDw8ICIgIjsKICAgIH0KICAgIGNvdXQgPDwgIlxuIjsKfQp2b2lkIGJhY2t0cmFjayhpbnQgaSl7CiAgICBmb3Ioc3RyaW5nIHg6IHVzZSl7CiAgICAgICAgaWYoeCA+IHJlc1tpLTFdKXsKICAgICAgICAgICAgcmVzLnB1c2hfYmFjayh4KTsKICAgICAgICAgICAgaWYoaSA9PSBrKXsKICAgICAgICAgICAgICAgIHJlc3VsdCgpOwogICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgIGJhY2t0cmFjayhpKzEpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJlcy5wb3BfYmFjaygpOwogICAgICAgIH0KICAgIH0KfQp2b2lkIHNvbHZlKGludCB0ZXN0KXsKICAgIGNpbiA+PiBuID4+IGs7CiAgICBzdHJpbmcgdGVtcDsKICAgIGZvcihpbnQgaT0wOyBpIDxuOyBpKyspewogICAgICAgIGNpbiA+PiB0ZW1wOwogICAgICAgIHMuaW5zZXJ0KHRlbXApOwogICAgfQogICAgZm9yKHN0cmluZyB4OiBzKXsKICAgICAgICB1c2UucGIoeCk7CiAgICB9CiAgICByZXMucHVzaF9iYWNrKCJAIik7CiAgICBiYWNrdHJhY2soMSk7Cn0gICAKaW50IG1haW4oKXsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGNvdXQudGllKE5VTEwpOwogICAgaW50IHR5cGV0ZXN0ID0gMDsKICAgIGlmICh0eXBldGVzdCl7CiAgICAgICAgaW50IHQ7CiAgICAgICAgY2luID4+IHQ7CiAgICAgICAgY2luLmlnbm9yZSgpOwogICAgICAgIFJFUChpLCAxLCB0KXsKICAgICAgICAgICAgc29sdmUoaSk7CiAgICAgICAgfQogICAgfQogICAgZWxzZSBzb2x2ZSgwKTsKfSA=