#include <bits/stdc++.h>
#pragma GCC optimize("O2")
using namespace std;
inline long long int input() {
  long long int n;
  cin >> n;
  return n;
}
long long int pw(long long int a, long long int b) {
  return (!b ? 1 : (b & 1 ? a * pw(a * a, b / 2) : pw(a * a, b / 2)));
}
const long long int MAXN = 2e5 + 10;
long long int a[MAXN], b[MAXN];
long long int ans(long long int l, long long int r, long long int key) {
  if (l == r) return l;
  long long int mid = (l + r) / 2;
  if (a[mid] > key) {
    return ans(l, mid, key);
  }
  return ans(mid + 1, r, key);
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  ;
  mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
  ;
  long long int n = input();
  long long int m = input();
  for (long long int i = 0; i < n; i++) cin >> a[i];
  for (long long int i = 0; i < m; i++) cin >> b[i];
  sort(a, a + n);
  for (long long int i = 0; i < m; i++) {
    cout << ans(0, n, b[i]) << ' ';
  }
  return 0;
}
