#include<bits/stdc++.h>
using namespace std;
int a[100000];
int b[100000];
int c[100000];
int d[100000];
void sor(int l, int r) {
if(l >= r) {
return;
}
int mid = (l + r) / 2;
sor(l, mid);
sor(mid + 1, r);
int i = l;
int j = mid + 1;
int k = l;
while(k <= r) {
if(i > mid || (j <= r && a[j] < a[i])) {
c[k] = a[j];
d[k] = b[j];
++k;
++j;
} else {
c[k] = a[i];
d[k] = b[i];
++k;
++i;
}
}
for(int i = l; i <= r; ++i) {
a[i] = c[i];
b[i] = d[i];
}
}
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
int m;
cin >> n >> m;
for(int i = 0; i < n; ++i) {
cin >> a[i];
b[i] = i + 1;
}
sor(0, n - 1);
for(int i = 0; i < m; ++i) {
int x;
cin >> x;
auto ans = lower_bound(a, a + n, x);
if(b[ans-a] > n) {
cout << "-1" << " ";
} else if(a[ans-a] > x) {
cout << "-1" << " ";
} else {
cout << b[ans-a] << " ";
}
}
return 0;
}