#include<bits/stdc++.h>
using namespace std;
int a[100005],b[100005],n,m,o=0;
void f(int l,int r,int x){
int m=(l+r)/2;
if(l>r) return;
if(a[m]==x)
o=1;
if(a[m]<x)
f(m+1,r,x);
if(a[m]>x)
f(l,m-1,x);
}
int main(){
scanf("%d",&n);
scanf("%d",&m);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=m;i++) scanf("%d",&b[i]);
sort(a,a+n+1);
sort(b,b+m+1);
for(int i=1;i<=m;i++){
f(1,n,b[i]);
if(o==1) printf("%d ",b[i]);
o=0;
}
return 0;
}
/**************************************************************
Problem: 1899
User: houshanglin
Language: C++
Result: Output Limit Exceed
****************************************************************/