import java.io.*;
import java.util.*;
import java.util.stream.IntStream;

public class SolutionIvan {
    public static void main(String[] args) throws IOException {
        new SolutionIvan().run();
    }
    int n, k;
    List<List<Integer>> results;
    List<List<Integer>> pos;
    long[][] resultPosCost;
    BufferedReader input;
    StringTokenizer tokenizer;
    String next() throws IOException {
        while (tokenizer == null || !tokenizer.hasMoreTokens()) {
            tokenizer = new StringTokenizer(input.readLine());
        }
        return tokenizer.nextToken();
    }
    int nextInt() {
        try {
            return Integer.parseInt(next());
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }
    public void run() throws IOException {
        input = new BufferedReader(new InputStreamReader(System.in));
        n = nextInt();
        k = nextInt();
        results = IntStream.range(0, k).mapToObj(i -> IntStream.range(0, n).mapToObj(j -> nextInt() - 1).toList()).toList();
        pos = new ArrayList<>(k);
        for (int i = 0; i < k; ++i) {
            List<Integer> p = new ArrayList<>(IntStream.range(0, n).boxed().toList());
            for (int j = 0; j < n; ++j) {
                p.set(results.get(i).get(j), j);
            }
            pos.add(p);
        }
        resultPosCost = new long[n][n];
        for (int res = 0; res < n; ++res) {
            for (int p = 0; p < n; ++p) {
                long cost = 0;
                for (int s = 0; s < k; ++s) {
                    cost += (long)(p - pos.get(s).get(res)) * (p - pos.get(s).get(res));
                }
                resultPosCost[res][p] = cost;
            }
        }

        List<Integer> ans = new ArrayList<>(IntStream.range(0, n).boxed().toList());
        boolean changed = true;
        while (changed) {
            changed = false;
            for (int i = 0; i + 1 < n; ++i) {
                long before = resultPosCost[ans.get(i)][i] + resultPosCost[ans.get(i + 1)][i + 1];
                long after = resultPosCost[ans.get(i)][i + 1] + resultPosCost[ans.get(i + 1)][i];
                if (before > after) {
                    int pi = ans.get(i);
                    int pn = ans.get(i + 1);
                    ans.set(i, pn);
                    ans.set(i + 1, pi);
                    changed = true;
                }
            }
        }

        for (int r : ans) {
            System.out.print(r + 1);
            System.out.print(' ');
        }
        System.out.println();
    }
}
