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