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