COCI 2009/2010, Contest #3

Task SORT

Mirko is a great code breaker. He knows any cipher in the world can be broken by frequency analysis. However, his idea of what frequency analysis is completely wrong.

He intercepted an enemy message. The message consists of N numbers, smaller than or equal to C Mirko belives freqency analysis consists of sorting this sequence so that more frequent numbers appear before less frequent ones.

Formally, the sequence must be sorted so that given any two numbers X and Y, X appears before Y if the number of times X appears in the original sequence is larger than the number of time Y does. If the number of appearances are equal, the number whose value appears sooner in the input should appear sooner in the sorted sequence.

Help Mirko by creating a "frequency sorter".

Input

The first line of the input contains two integers, N (1 ≤ N ≤ 1 000), the length of the message, and C (1 ≤ C ≤ 1 000 000 000), the number from the task description.

The next line contains N integers smaller than or equal to C, the message itself.

Output

The first and only line of the output should contain N numbers, the sorted sequence.

Sample Tests

Input

5 2
2 1 2 1 2

Output

2 2 2 1 1

Input

9 3
1 3 3 3 2 2 2 1 1

Output

1 1 1 3 3 3 2 2 2

Input

9 77
11 33 11 77 54 11 25 25 33

Output

11 11 11 33 33 25 25 77 54

All Submissions
Best Solutions


Point Value: 7
Time Limit: 1.00s
Memory Limit: 32M
Added: Jul 04, 2013

Languages Allowed:
C++03, PAS, C, HASK, ASM, RUBY, PYTH2, JAVA, PHP, SCM, CAML, PERL, C#, C++11, PYTH3

Comments (Search)

It's quiet in here...