#include <iostream>
using namespace std;
const int N = 100005;
int a1[N], a2[N], n1, cnt, Max, m, m1, m3;
int Binary_search(int a[N], int n, int size) {
int l = 0, r = size - 1;
while(l <= r)
{
int m = l + ((r - l) / 2);
if (a[m] > n) r = m - 1;
else if (a[m] < n) l = m + 1;
else return m + 1;
}
return -1;
}
int main() {
scanf("%d%d", &m, &m1);
for (int i = 0; i < m; i++) {
scanf("%d", &m3);
if (Max < m3) Max = m3;
a2[m3]++;
}
for (int i = 0; i < Max+1; i++) {
if(a2[i]>0) a1[cnt++] = i;
}
for(int i = 0; i < m1; i++){
scanf("%d", &n1);
printf("%d ", Binary_search(a1, n1, m));
}
return 0;
}