Олимпиадный тренинг

Задача 37257. Taxi


After a long meeting, the director of the company decided to order a taxi to take the employees home. He ordered N cars  – as many as it has employees. However, when they arrived, it turned out that each taxi driver has his own tariff for 1 kilometer.

The director knows which employee how many kilometers from work to home (unfortunately, all employees live in different directions, so you cannot send two employees in one car). Now the director wants to determine which of the employees should take which taxi home so that the total cost of a taxi (and they are borne by the company) is minimal.


Input: The first line of the input contains a natural number N (1 ≤ N< /em> ≤ 1000)  – the number of company employees (coinciding with the number of taxis called). Next,  N numbers are written that specify the distance in kilometers from work to the homes of company employees (the first number  – for the first employee, the second  – for the second, etc.). All distances  – positive integers not exceeding 1000. More N numbers  – fares for one kilometer in a taxi (the first number & ndash; in the first taxi car, the second & nbsp; & ndash; in the second, etc.). Tariffs are expressed as positive integers not exceeding 10000. 

Output: The program should output N numbers. First number – the number of the taxi that the first employee should take, the second number – the number of the taxi in which the second one should sit, etc., so that the total cost of a taxi is minimal. If there are several seating options for employees with minimal costs, print any of them.

Examples
# Input Output
1 3
10 20 30
50 20 30
1 3 2
2 5
10 20 1 30 30
3 3 3 2 3
5 1 3 2 4