You are given two arrays of integers a and b. For each element of the second array bj you should find the number of elements in array a that are less than or equal to the value bj.

Input

The first line contains two integers n, m (1 ≤ n, m ≤ 2·105) — the sizes of arrays a and b.

The second line contains n integers — the elements of array a ( - 109 ≤ ai ≤ 109).

The third line contains m integers — the elements of array b ( - 109 ≤ bj ≤ 109).

Output

Print m integers, separated by spaces: the j-th of which is equal to the number of such elements in array a that are less than or equal to the value bj.

Examples

Input

5 4
1 3 5 7 9
6 4 2 8


Output

3 2 1 4


Input

5 5
1 2 1 2 5
3 1 4 1 5


Output

4 2 4 2 5
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

public class Queriesaboutlessorequalelements {
    public static void main(String[] args) {

        Scanner s = new Scanner(System.in);
        int n, m;
        n = s.nextInt();
        m = s.nextInt();
        int[] a, b;
        //a = new int[n];
        ArrayList<Integer> aa = new ArrayList<>();
        b = new int[m];
        for (int i = 0; i < n; i++) {
            int x = s.nextInt();
            //a[i] = x;
            aa.add(x);
        }
        //Arrays.sort(a);
        Collections.sort(aa);
        for (int i = 0; i < m; i++) {
            b[i] = s.nextInt();
            int l = 0, r = n - 1;
            int mid = l + (r - l) / 2;;
            while (l < r) {
                if (b[i] >= aa.get(mid)) {
                    l = mid + 1;
                } else {
                    r = mid;
                }
                mid = l + (r - l) / 2;
            }
            if(b[i]<aa.get(mid)){
                mid--;
            }
            mid++;
            if (m - i != 1) {
                System.out.print(mid + " ");
            } else {
                System.out.print(mid);
            }
        }
    }
}


