#include <bits/stdc++.h>

#define pb push_back
#define f first
#define s second
#define pii pair<int, int>
#define mp make_pair

using namespace std;

const int MAX = 205;

int n, k;
string subreddit[MAX];
vector<int> subscribers[MAX];
vector<int> graph[MAX];
int l[MAX], r[MAX];
bool visited[MAX];

void build_graph() {
	for (int i = 1; i <= n; i++) {
		for (int j = 2; j < (int)subscribers[i].size(); j++) {
			if (subscribers[i][j - 2] < subscribers[i][j - 1] && subscribers[i][j - 1] < subscribers[i][j]) {
				graph[j + 1].push_back(i);
				graph[i + k].push_back(j + 1);
			}
		}
	}
}

int pair_up(int node) {
	if (visited[node]) {
		return 0;
	} else {
		visited[node] = true;
	}

	for (auto adj : graph[node]) {
		if (!r[adj]) {
			l[node] = adj;
			r[adj] = node;
			return 1;
		} else if (pair_up(r[adj])) {
			l[node] = adj;
			r[adj] = node;
			return 1;
		}
	}
	return 0;
}

void print_graph() {
	for (int i = 1; i <= k; i++) {
		cout << "Day " << i << ": ";
		for (int vaca : graph[i]) {
			cout << vaca << ' ';
		}
		cout << endl;
	}

	for (int i = k + 1; i <= n + k; i++) {
		cout << "Subreddit " << i - k << ": ";
		for (int day : graph[i]) {
			cout << day << ' ';
		}
		cout << endl;
	}
}

int main() {
	cin.sync_with_stdio(false);
	cin >> n >> k;
	for (int i = 1; i <= n; i++) {
		cin >> subreddit[i];
		for (int j = 1; j <= k; j++) {
			int temp;
			cin >> temp;
			subscribers[i].push_back(temp);
		}
	}

	build_graph();

	for (bool ok = true; ok;) {
		ok = false;
		memset(visited, 0, sizeof(visited));
		for (int i = 1; i <= k; i++) {
			if (!l[i] && pair_up(i)) {
				ok = true;
			}
		}
	}

	for (int day = 1; day <= k; day++) {
		cout << (l[day] ? subreddit[l[day]] : "none") << '\n';
	}

	return 0;
}