Мінімаксне паросполучення
Задано повний дводольний граф, кожна доля якого складається з N вершин. Кожній з вершин приписано вагу - ціле число. Вага ребра визначається як добуток ваг вершин, які воно з'єднує.
Як відомо, паросполученням у графі називається множина ребер, які попарно не мають спільних вершин. Паросполучення називають досконалим, якщо воно покриває всі вершини графа, тобто кожна вершина графа інцидентна якомусь ребру паросполучення.
Ваша задача - знайти досконале мінімаксне паросполучення, тобто таке, що максимальна з ваг ребер паросполучення буде мінімально можливою.
Вхідні дані
У першому рядку вхідного файлу задано ціле число N (1 ≤ N ≤ 10^5). У другому рядку - N цілих чисел, що не перевищують за абсолютною величиною 10^9. i-те число у рядку задає вагу i-ої вершини пешої долі графа. У третьому рядку аналогічним чином представлені ваги вершин другої долі. Вершини кожної доли мають номери від 1 до N.
Вихідні дані
У першому рядку вихідного файлу виведіть одне ціле число - вагу досконалого мінімаксного паросполучення, тобто максимальну з ваг його ребер. А у другому рядку опису цього паросполучення - N цілих чисел, i-те з яких означає номер вершини у другій долі, з якою з'єднана ребром паросполучення i-та вершина першої долі.