#include <iostream>
using namespace std;
int pon (int *a, int b, int c){
    int d = 0;
    for (int i = 0; i < b; ++i){
        if (a[i] == c){d = d + 1;}
    }
    return d;
}
int pon2 (int *a, int b, int c, int d){
    for (int i = 0; i < b; ++i){
        if (a[i] == c){a[i] = d;}
    }
}
int main (){
    int n, c;
    cin >> n >> c;
    int x[n];
    for (int i = 0; i < n; ++i){
        cin >> x[i];
    }
    int asdf = 0;
    int asdf2 = 0;
    for (int j = 0; j < n; ++j){
        asdf2 = pon (x, n, x[j]);
        if (asdf < asdf2){asdf = asdf2;}
    }
    for (int j = asdf; j > 0; --j){
        for (int y = 0; y < n; ++y){
            if ((pon (x, n, x[y]) == j)&&(x[y] != c + 1)){for (int k = 0; k < j - 1; ++k){cout << x[y] << " ";}
                                                          cout << x[y] << " ";
                                                          pon2 (x, n, x[y], c + 1);}
        }
    }
    return 0;
}
