На столе лежат карточки, на каждой из которых написано некоторое число. Кроме того, имеется довольно большая стопка чистых карточек. За один ход разрешается убрать со стола две карточки с одинаковыми числами, затем взять из стопки две чистые, написать на каждой из них по одному числу и положить на стол.
Требуется узнать как за минимальное количество ходов сделать так, чтобы на столе были карточки, на которых написаны одинаковые числа.
В первой строке задается количество лежащих на карточек N (1 ≤ N ≤ 30000), а во второй - N чисел, написанных на них. Все числа натуральные и не превышают 10^9.
В первой строке выведите минимальное количество операций L, необходимых для того, чтобы получить на столе все одинаковые карточки. В последующих L строках выведите по четыре числа, определяющие, что нужно делать в соответствующий ход: первое и второе - числа, записанные на убираемых карточках, третье и четвертое - числа, которые нужно написать на новых карточках. Если невозможно сделать так, чтобы на столе оказались все одинаковые карточки, выведите одно число -1.