#include<bits/stdc++.h>
using namespace std;
int a[1000000],n,x,ans,b[1000000],m;
void f(int l,int r){
if(l<=r){
int mid=(l+r)/2;
if(a[mid]==x){
ans=1;
return;
}
if(a[mid]>x){
f(l,mid-1);
}
if(a[mid]<x){
f(mid+1,r);
}
}
}
bool cmp(int a,int b){
return a<b;
}
int main(){
cin>>n>>m;
for(int i=0;i<n;i++) cin>>a[i];
for(int i=0;i<m;i++) cin>>b[i];
sort(a,a+n,cmp);
sort(b,b+m,cmp);
for(int i=0;i<m;i++){
ans=0;
x=b[i];
f(0,n-1);
cout<<b[i]<<" ";
}
return 0;
}
/**************************************************************
Problem: 1898
User: linzihang
Language: C++
Result: Output Limit Exceed
****************************************************************/