#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int n, m;
struct Node {//建立结构体
int h;
int id;
} e[N];
int ans[N];
int h[N];//气球高度
bool cmp(Node a, Node b) {//比较器
return a.h < b.h;//从小到大
}
int main() {
cin >> n >> m;
for(int i = 1; i <= n ; i ++) {
cin >> e[i].h;
e[i].id = i;
}
sort(e + 1, e + 1 + n, cmp);//结构体排序
for(int i = 1; i <= m; i ++)
cin >> h[i];//气球高度
int now = 1;
sort(h + 1, h + 1 + m);//气球高度排序
for(int i = 1; i <= n; i ++) {
int num = 0;
/*while(now <= m && h[now] <= e[i].h)
num ++, now ++;*/
for(; now<=m;now++)
if(h[now]<=e[i].h) num++;
else break;
ans[e[i].id] = num ;
}
for(int i = 1; i <= n; i ++)
cout << ans[i] << endl;
return 0;
}