import java.util.Arrays;
import java.util.Scanner;

public class QueriesAboutLessOrEqual {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        int m = sc.nextInt();

        int[] a = new int[n];
        int[] b = new int[m];

        for (int i = 0; i < n; ++i) {
            a[i] = sc.nextInt();
        }

        for (int i = 0; i < m; ++i) {
            b[i] = sc.nextInt();
        }

        Arrays.sort(a);
        StringBuffer sb = new StringBuffer();
        for (int i = 0; i < m; ++i) {
            sb.append(binarySearchGreater(a, b[i]));
            sb.append(" ");
        }
        System.out.println(sb);
    }

    private static int binarySearchGreater(int[] a, int val) {

        int start = 0;
        int end = a.length;
        int middle = 0;

        while (start < end) {
            middle = start + (end - start) / 2;
            if (a[middle] == val) {
                if (middle + 1 >= a.length || a[middle + 1] > val) {
                    return middle + 1;
                }
                start = middle + 1;

            }
            else if (val > a[middle]) {
                start = middle + 1;
            }
            else {
                end = middle;
            }
        }

        if (a[middle] > val) {
            return middle;
        }
        return middle + 1;
    }

}
