#include<bits/stdc++.h>
using namespace std;
int n,m;
struct t{
int data;
int first;
}a[1000001];
int f(int l,int r,int k){
if(r==l){
return -1;
}
int mid=(l+r)/2;
if(k>a[mid].data){
return f(mid+1,r,k);
}
if(k<a[mid].data){
return f(l,mid,k);
}
if(k==a[mid].data){
return a[mid].first;
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
scanf("%d",&a[i].data);
if(a[i].data!=a[i-1].data){
a[i].first=i;
}else{
a[i].first=a[i-1].first;
}
}
for(int i=1;i<=m;i++){
int t=0;
cin>>t;
int p=f(1,n,t);
cout<<p<<' ';
}
return 0;
}