Латинський квадрат — це таблиця розміром N \times N, заповнена числами від до так, що кожне число зустрічається рівно один раз у кожному рядку та кожному стовпці. Ось приклад латинського квадрата розміром 3 \times 3:
Вам задано прямокутну матрицю розміром W \times H (W \ne H, 2 \leq W, H \leq 8). Матриця заповнена, по рядках і стовпцях, числами від до \max(W, H). Ваше завдання — доповнити цей прямокутник до латинського квадрата розміром \max(W, H), або визначити, що це неможливо. Вміст заданого прямокутника змінювати не можна.
У першому рядку містяться цілі числа та .
У наступних рядках знаходяться по цілих чисел, розділених пробілами.
Якщо неможливо доповнити прямокутник до латинського квадрата, виведіть Impossible (без лапок). Інакше у першому рядку виведіть довжину сторони латинського квадрата; у наступних рядках — отриманий латинський квадрат, числа у кожному рядку розділяйте одним пробілом. Якщо існує декілька розв'язків, виведіть будь-який з них.
Приклад 1