// Calentamiento: este programa tiene un bug. Córranlo con el juez, lean el veredicto y corríjanlo.
#include <iostream>
#include <vector>

int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int n, q;
    std::cin >> n >> q;
    std::vector<int> scores(n);
    for (int& score : scores) {
        std::cin >> score;
    }

    for (int i = 0; i < q; i++) {
        int x;
        std::cin >> x;
        // Invariante: los puntajes antes de lo son menores que x,
        // y los puntajes desde hi en adelante son mayores o iguales que x.
        int lo = 0;
        int hi = n - 1;
        while (lo < hi) {
            int mid = lo + (hi - lo) / 2;
            if (scores[mid] < x) {
                lo = mid + 1;
            } else {
                hi = mid;
            }
        }
        std::cout << lo << '\n';
    }
}
