ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1421. Кредитные операции

Ограничение времени: 0.25 секунды
Ограничение памяти: 64 МБ

Вступление

Крупный предприниматель Владимир Дубинин, в недалёком прошлом больше известный как Вован Палёный, контролирует трест из N предприятий. Бывший подельник Владимира, а ныне известный банкир Александр Кулаков по прозвищу Саня Кривой владеет холдингом из N банков. Как и полагается у старых друзей, предприятия г-на Дубинина берут кредиты исключительно у банков г-на Кулакова, в то время как банки г-на Кулакова выдают кредиты только предприятиям г-на Дубинина. Причём с целью уклонения от уплаты налогов вся информация о размерах кредитов тщательно скрывается.
Но тут на сцене появляется давний конкурент Владимира и Александра генерал милиции Иван Ломов, когда-то носивший кличку Ваня Гнилой. Г-н Ломов хочет отомстить г-ну Дубинину и г-ну Кулакову за старые обиды и выявить все кредитные операции между их предприятиями и банками.

Задача

Для начала люди Ивана произвели выемку документов из офисов предприятий Владимира и для каждого предприятия выяснили суммарный размер кредитов SR[i], полученных этим предприятием. Затем в ходе аналогичных операций для каждого банка Александра был установлен суммарный размер кредитов SC[j], выданных этим банком. Последним шагом является заполнение так называемой кредитной матрицы на основе полученных данных. В данном случае кредитная матрица представляет собой квадратную таблицу из N строк и N столбцов, в которой каждый элемент A[i, j] должен быть равен размеру кредита, взятого i-м предприятием г-на Дубинина у j-го банка г-на Кулакова. Доподлинно известно, что размер любого кредита является целым числом от 0 до 100. Помните, что полученная в ходе следственных действий информация могла быть сфальсифицирована, и тогда заполнить кредитную матрицу не получится.

Исходные данные

Первая строка содержит целое число N (2 ≤ N ≤ 100). Вторая строка содержит N целых чисел SR[i] (0 ≤ SR[i] ≤ 32000). Третья строка содержит N целых чисел SC[j] (0 ≤ SC[j] ≤ 32000). Сумма всех SR[i] равняется сумме всех SC[j].

Результат

Выведите "NO", если кредитная матрица не может быть заполнена. Иначе в первой строке выведите "YES", а в каждой из следующих N строк выведите через пробел N соответствующих элементов A[i, j] кредитной матрицы. Если задача имеет несколько решений, можно вывести любое из них.

Пример

исходные данныерезультат
4
267 157 188 259
193 320 346 12
YES
100 55 100 12
0 70 87 0
0 95 93 0
93 100 66 0
Автор задачи: Илья Гребнов, Никита Рыбак, Дмитрий Ковалёв
Источник задачи: Timus Top Coders: First Challenge