Algorithms and Data Structures

• Status
• 1
Implementation
• 2
Bitwise operations
• 3
Prefix Sums
• 4
Sliding window / Two pointers
• 5
Modular Arithmetic
• 6
Number Theory
• 7
Binary Search
• 8
Basic Sorting
• 9
Greedy Algorithms
• 10
Basic Dynamic Programming
• 11
Recursion
• 12
• 13
Queue & Stack
• 14
Binary tree + BST
• 15
Divide & Conquer + Advanced Sorting
• 16
Heap
• 17
Hashing
• 18
Graph Representation
• 19
BFS

• # Find smaller values

Given two arrays a and b, for each element of array b, you are asked to calculate the number of elements in a that are smaller than or equal to it.

#### Input

The input contains two integers n and m (1 ≤ n, m ≤ ) the sizes of a and b.
The second line contains n elements representing the elements of a ().
The final line contains m integers representing the elements of b().

#### Output

The program should print m integers separated by a space, each one representing the number of elements in a smaller than or equal to the corresponding element in b.

#### Examples

 Input Output 5 4 7 9 1 5 3 6 8 2 4 3 4 1 2 5 5 1 1 5 2 2 5 4 3 1 1 5 4 4 2 2

#### Constraints

Time limit: 1 seconds

Memory limit: 512 MB

Output limit: 1 MB