eolymp
bolt
Try our new interface for solving problems
Problems

Произведения

Произведения

Time limit 1 second
Memory limit 64 MiB

Петя участвует в конкурсе юных любителей головоломок. В последнем туре участникам предложена следующая задача:

prb6880

Дана квадратная таблица n×n. Рядом с каждым столбцом и каждой строкой написано целое положительное число. Пусть около i-го столбца написано число x\[i\], а около j-й строки – число y\[j\]. Для победы в конкурсе необходимо в некоторых клетках таблицы расположить целые положительные числа так, чтобы выполнялись следующие условия:

  1. Все эти числа должны быть различными

  2. В каждом столбце и каждой строке должно быть ровно 2 числа

  3. Произведение чисел i-го столбца должно быть равно x\[i\].

  4. Произведение чисел j-й строки должно быть равно y\[j\].

Рисунок показывает пример решения такой задачи.

Помогите Пете!

Input data

В первой строке находится число n (2 ≤ n ≤ 10). Во второй строке находится n чисел - x\[1\] ... xn (1 ≤ x\[i\] ≤ 1000 для всех 1 ≤ i ≤ n). В третьей строке также находится n чисел - y\[1\] .. y\[n\] (1 ≤ y\[i\] ≤ 1000 для всех 1 ≤ i ≤ n).

Output data

Выведите таблицу после расстановки в ней чисел необходимым образом. Таблицу следует выводить по строкам: сначала n чисел первой строки, затем n чисел второй строки, и т. д. Если в соответствующей клетке стоит число, следует вывести это число, если клетка осталась пустой, следует вывести 0. Все числа следует разделять пробелами и/или переводами строк. Заботиться о красивом форматировании таблицы не надо. Если решений несколько, выведите любое из них. Гарантируется, что хотя бы одно решение будет существовать.

Examples

Input example #1
2
2 12
3 8
Output example #1
1 3
2 4
Source 2000 Командный чемпионат школьников Санкт-Петербурга по программированию, Санкт-Петербург, 5 ноября, Задача G