#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
****************************************************************/