#include <iostream>
#include <string>
#include <vector>
#include <algorithm>

bool vec_postoji(std::vector<int>& niz, int broj) {
    for(auto& i : niz) {
        if(broj == i)
            return true;
    }
    return false;
}

bool vec_postoji_v(std::vector<int>& a, std::vector<int>& b) {
    int br = 0;

    for(auto& i : a) {
        for(auto& j : b) {
            if(i == j) {
                br++;
                break;
            }
        }
    }

    if(br == a.size()) {
        return true;
    }else{
        return false;
    }
}

bool l_manji(std::vector<int>& a, std::vector<int>& b) {
    for(int i = 0; i < a.size(); ++i) {
        if(a[i] != b[i]) {
            if(a[i] > b[i]) {
                return false;
            }else{
                return true;
            }           
        }  
    }
}

std::vector<std::vector<int>> kombinacije(int N, int K) {
    std::vector<std::vector<int>> sve_komb;

    for(int i = 0; i < N; ++i) {
        std::vector<std::vector<int>> izabrani;
        izabrani.resize(K-1);
        for(int j = 0; j < N-1; ++j) {

            std::vector<int> tmp;
            tmp.push_back(i);
            
            for(int k = 0; k < K-1; ++k) {
                for(int l = 0; l < N; ++l) {
                    bool postoji = false;

                    for(int r = 0; r < K-1; ++r) {
                        if(r != k) {
                            if(izabrani[r].size() > 0) {
                                if(l == izabrani[r][izabrani[r].size()-1]) {
                                    postoji = true;
                                    break;
                                }
                            }
                            
                        }
                    }

                    if(l != i && !vec_postoji(izabrani[k], l) && !postoji) {
                        izabrani[k].push_back(l);
                        tmp.push_back(l);
                        break;
                    }
                }
            }
            sve_komb.push_back(tmp);
        }
    }

    for(int i = 0; i < sve_komb.size(); ++i) {
        for(int j = i+1; j < sve_komb.size(); ++j) {
            if(vec_postoji_v(sve_komb[i], sve_komb[j])) {
                sve_komb.erase(sve_komb.begin() + j);
                j--;
            }
        }
    }

    return sve_komb;
}

int main() {

	std::ios::sync_with_stdio(false);
	std::cin.tie(0);

    std::string ulaz1;
	std::getline(std::cin, ulaz1);

	std::string ulaz2;
	std::getline(std::cin, ulaz2);

	int N = std::stoi(ulaz1.substr(0, ulaz1.find(" ")));
	int K = std::stoi(ulaz1.substr(ulaz1.find(" ")+1));

	std::vector<int> niz;

	for(int i = 0; i < N; ++i) {
		niz.push_back(std::stoi(ulaz2.substr(0, ulaz2.find(" "))));
		ulaz2 = ulaz2.substr(ulaz2.find(" ")+1);
	}

    std::vector<std::vector<int>> sve_komb_s = kombinacije(N, K);
    std::vector<std::vector<int>> sve_komb;

    for(auto& i : sve_komb_s) {
        std::vector<int> tmp;

        for(int j = 0; j < N; ++j) {
            if(!vec_postoji(i, j)) {
                tmp.push_back(niz[j]);
            }
        }

        sve_komb.push_back(tmp);
    }

    std::vector<int> najm = sve_komb[0];

    for(auto& i : sve_komb) {
        if(l_manji(i, najm)) {
            najm = i;
        }
    }

    for(auto& i : najm) {
        std::cout << i << ' ';
    }
}