#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int n,m,a[N],b[N];
bool t = false;
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 + 1 + n);
sort(b + 1, b + 1 + m);
int l = 1, r = n, mid = (r + l)/2;
for(int j = 1; j <= m; ++j) {
while(r >= l) {
if(b[j] > a[mid])
l = mid + 1;
if(b[j] == a[mid]) {
t = true;
break;
}
if(b[j] < a[mid])
r = mid - 1;
mid = (r + l)/2;
}
if(t == true) {
cout << b[j] << " ";
}
t = false;
l = 1, r = n, mid = (r + l)/2;
}
return 0;
}
/**************************************************************
Problem: 1898
User: hongguangxi
Language: C++
Result: Accepted
Time:209 ms
Memory:2860 kb
****************************************************************/