#include<bits/stdc++.h>
using namespace std;
const int MAXN = 100005;
int a[MAXN], b[MAXN], n, m;
int c[15] = {0};
void f(int l, int r, int target) {
if (l > r) return;
int mid = (l + r) >> 1;
if (b[mid] == target) {
c[target]++;
f(l, mid - 1, target);
f(mid + 1, r, target);
} else if (b[mid] > target) {
f(l, mid - 1, target);
} else {
f(mid + 1, r, target);
}
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) cin >> a[i];
for (int i = 1; i <= m; i++) cin >> b[i];
sort(a + 1, a + n + 1);
sort(b + 1, b + m + 1);
for (int i = 1; i <= n; i++) {
f(1, m, a[i]);
}
for (int i = 0; i < 10; i++) {
for (int j = 1; j <= c[i]; j++) {
cout << i << " ";
}
}
return 0;
}
/**************************************************************
Problem: 1898
User: yangwanning
Language: C++
Result: Runtime Error
****************************************************************/