#include <bits/stdc++.h>
using namespace std;
#define LSOne(S) ((S) & -(S))
typedef long long ll;
typedef pair<int, int> ii;
typedef vector<ii> vii;
typedef vector<int> vi;
const int mod = 1000000007;
const int MAX = 20;
int c[MAX][MAX];
int nivel(const vi& ssy){ // devuelve la cantidad de compatibilidad que tiene un subconjunto de sayayines
int res = 0;
for(int i = 0; i<ssy.size(); ++i){
for(int j = i + 1; j < ssy.size(); ++j){
res += c[ssy[i]][ssy[j]];
}
}
return res;
}
vector<vi> subsets(vi& k, int m, int n){ // devuelve un vector con los subconjuntos de tamaño n
vector<vi> res;
for(int i = 0; i < (1 << m); ++i){
vi act;
for(int j = 0; j < m; ++j){
if((i & (1 << j))){
act.push_back(k[j]);
}
}
if(act.size() == n) res.push_back(act);
}
return res;
}
void solve(){
int n, m;
cin >> n >> m;
map<int, string> names; // nombres de los sayayines por la posicion en que esten
vi k;
for(int i = 0; i<m; ++i){
cin >> names[i];
k.push_back(i);
for(int j = 0; j<m; ++j){
cin >> c[i][j];
}
}
vector<vi> sub = subsets(k, m, n);
vi resInt;
vector<string> resString;
int maxNiv = INT_MIN;
for(const auto& i : sub){
int niv = nivel(i);
if(niv > maxNiv){
maxNiv = niv;
resInt = i;
}
}
for(const auto& i: resInt) resString.push_back(names[i]);
sort(resString.begin(), resString.end());
for(const auto& i: resString) cout << i << " ";
cout << "\n";
//int res = INT_MIN;
//vi
//cout << nivel(p);
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int TC = 1;
//cin >> TC;
while(TC--) solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIExTT25lKFMpICgoUykgJiAtKFMpKQp0eXBlZGVmIGxvbmcgbG9uZyBsbDsKdHlwZWRlZiBwYWlyPGludCwgaW50PiBpaTsgCnR5cGVkZWYgdmVjdG9yPGlpPiB2aWk7CnR5cGVkZWYgdmVjdG9yPGludD4gdmk7Cgpjb25zdCBpbnQgbW9kID0gMTAwMDAwMDAwNzsKY29uc3QgaW50IE1BWCA9IDIwOwppbnQgY1tNQVhdW01BWF07CgppbnQgbml2ZWwoY29uc3QgdmkmIHNzeSl7IC8vIGRldnVlbHZlIGxhIGNhbnRpZGFkIGRlIGNvbXBhdGliaWxpZGFkIHF1ZSB0aWVuZSB1biBzdWJjb25qdW50byBkZSBzYXlheWluZXMKICAgIGludCByZXMgPSAwOwogICAgZm9yKGludCBpID0gMDsgaTxzc3kuc2l6ZSgpOyArK2kpewogICAgICAgIGZvcihpbnQgaiA9IGkgKyAxOyBqIDwgc3N5LnNpemUoKTsgKytqKXsKICAgICAgICAgICAgcmVzICs9IGNbc3N5W2ldXVtzc3lbal1dOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiByZXM7Cn0KCnZlY3Rvcjx2aT4gc3Vic2V0cyh2aSYgaywgaW50IG0sIGludCBuKXsgLy8gZGV2dWVsdmUgdW4gdmVjdG9yIGNvbiBsb3Mgc3ViY29uanVudG9zIGRlIHRhbWHDsW8gbgogICAgdmVjdG9yPHZpPiByZXM7CgogICAgZm9yKGludCBpID0gMDsgaSA8ICgxIDw8IG0pOyArK2kpewogICAgICAgIHZpIGFjdDsKICAgICAgICBmb3IoaW50IGogPSAwOyBqIDwgbTsgKytqKXsKICAgICAgICAgICAgaWYoKGkgJiAoMSA8PCBqKSkpewogICAgICAgICAgICAgICAgYWN0LnB1c2hfYmFjayhrW2pdKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihhY3Quc2l6ZSgpID09IG4pIHJlcy5wdXNoX2JhY2soYWN0KTsKICAgIH0KICAgIHJldHVybiByZXM7Cn0KCnZvaWQgc29sdmUoKXsKICAgIGludCBuLCBtOwogICAgY2luID4+IG4gPj4gbTsKICAgIG1hcDxpbnQsIHN0cmluZz4gbmFtZXM7IC8vIG5vbWJyZXMgZGUgbG9zIHNheWF5aW5lcyBwb3IgbGEgcG9zaWNpb24gZW4gcXVlIGVzdGVuCiAgICB2aSBrOwogICAgZm9yKGludCBpID0gMDsgaTxtOyArK2kpewogICAgICAgIGNpbiA+PiBuYW1lc1tpXTsKICAgICAgICBrLnB1c2hfYmFjayhpKTsKICAgICAgICBmb3IoaW50IGogPSAwOyBqPG07ICsrail7CiAgICAgICAgICAgIGNpbiA+PiBjW2ldW2pdOwogICAgICAgIH0KICAgIH0KICAgIHZlY3Rvcjx2aT4gc3ViID0gc3Vic2V0cyhrLCBtLCBuKTsKICAgIHZpIHJlc0ludDsKICAgIHZlY3RvcjxzdHJpbmc+IHJlc1N0cmluZzsKICAgIGludCBtYXhOaXYgPSBJTlRfTUlOOwogICAgZm9yKGNvbnN0IGF1dG8mIGkgOiBzdWIpewogICAgICAgIGludCBuaXYgPSBuaXZlbChpKTsKICAgICAgICBpZihuaXYgPiBtYXhOaXYpewogICAgICAgICAgICBtYXhOaXYgPSBuaXY7CiAgICAgICAgICAgIHJlc0ludCA9IGk7CiAgICAgICAgfQogICAgfQogICAgZm9yKGNvbnN0IGF1dG8mIGk6IHJlc0ludCkgcmVzU3RyaW5nLnB1c2hfYmFjayhuYW1lc1tpXSk7CiAgICBzb3J0KHJlc1N0cmluZy5iZWdpbigpLCByZXNTdHJpbmcuZW5kKCkpOwogICAgZm9yKGNvbnN0IGF1dG8mIGk6IHJlc1N0cmluZykgY291dCA8PCBpIDw8ICIgIjsKICAgIGNvdXQgPDwgIlxuIjsKCiAgICAvL2ludCByZXMgPSBJTlRfTUlOOwogICAgLy92aSAKCiAgICAvL2NvdXQgPDwgbml2ZWwocCk7Cgp9CgppbnQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoKICAgIGludCBUQyA9IDE7CiAgICAvL2NpbiA+PiBUQzsKICAgIHdoaWxlKFRDLS0pIHNvbHZlKCk7Cn0=
MTAgMjAKR09LVSAwIDEgLTEgMyAyIDAgMSAtMiAzIDEgMiAzIC0xIDAgMyAtMiAxIDMgMCAyClZFR0VUQSAxIDAgMiAtMSAzIC0xIDIgMSAtMyAyIDEgMCAyIC0yIDMgMCAxIDIgLTEgMwpHT0hBTiAyIC0xIDMgMSAwIDMgLTIgMSAyIC0xIDAgMyAxIDIgMyAtMSAwIDIgLTIgMQpUUlVOS1MgMyAyIC0xIDAgMSAyIC0zIDEgMiAwIDEgMiAzIC0xIDAgMyAxIDIgLTIgMwpQSUNDT0xPIDIgMSAwIDEgLTIgMyAwIDIgLTEgMyAyIDEgMCAzIC0xIDIgMyAtMSAwIDEKS1JJTElOIDEgLTIgMyAtMyAxIDIgLTEgMiAwIDEgMiAtMSAyIDMgLTEgMCAyIDEgLTIgMwpCVUxNQSAtMiAxIC0zIDIgMyAtMiAxIDAgMSAtMiAzIC0xIDIgLTEgMCAxIC0zIDIgLTIgMwpDSElfQ0hJIDMgMCAxIC0xIDIgMyAtMiAxIDAgMiAxIDIgLTEgMCAzIDEgLTIgMyAtMSAyCllBTUNIQSAxIDIgLTEgMiAtMSAyIDMgLTMgMiAwIDEgMiAtMSAwIDIgMyAxIDIgLTEgMwpUSUVOIDIgMSAwIDEgLTIgMyAtMSAyIC0yIDEgMCAzIC0xIDIgMyAxIC0xIDAgMiAtMQo=
10 20
GOKU 0 1 -1 3 2 0 1 -2 3 1 2 3 -1 0 3 -2 1 3 0 2
VEGETA 1 0 2 -1 3 -1 2 1 -3 2 1 0 2 -2 3 0 1 2 -1 3
GOHAN 2 -1 3 1 0 3 -2 1 2 -1 0 3 1 2 3 -1 0 2 -2 1
TRUNKS 3 2 -1 0 1 2 -3 1 2 0 1 2 3 -1 0 3 1 2 -2 3
PICCOLO 2 1 0 1 -2 3 0 2 -1 3 2 1 0 3 -1 2 3 -1 0 1
KRILIN 1 -2 3 -3 1 2 -1 2 0 1 2 -1 2 3 -1 0 2 1 -2 3
BULMA -2 1 -3 2 3 -2 1 0 1 -2 3 -1 2 -1 0 1 -3 2 -2 3
CHI_CHI 3 0 1 -1 2 3 -2 1 0 2 1 2 -1 0 3 1 -2 3 -1 2
YAMCHA 1 2 -1 2 -1 2 3 -3 2 0 1 2 -1 0 2 3 1 2 -1 3
TIEN 2 1 0 1 -2 3 -1 2 -2 1 0 3 -1 2 3 1 -1 0 2 -1