Порівняння відповідей
У південно-західній частині Європи, в місті, назву якого я не хочу згадувати, нещодавно було n
міст, з'єднаних односторонніми дорогами. Можливо, що між двома містами існує більше ніж одна дорога, або навіть дорога, що веде з міста до нього ж. Як завдання з географії, вам потрібно визначити кількість шляхів довжиною рівно два між кожною парою міст. Однак, ви були занадто зайняті святкуванням перемоги Іспанії на Чемпіонаті світу, тому тепер переписуєте відповіді у свого друга. Ви хочете переконатися, що його відповіді правильні, перш ніж здавати домашнє завдання.
Вхідні дані
Вхідні дані складаються з декількох тестових випадків, розділених одним порожнім рядком. Кожен тестовий випадок починається з рядка, що містить ціле число n
(1 ≤ n ≤ 1000
). Наступні n
рядків містять n
елементів кожен, де елемент j
рядка i
є кількістю доріг з міста i до міста j (число від 0 до 10 включно). Після цього буде n
рядків. Кожен міститиме n
елементів, де елемент j
рядка i
є відповіддю вашого друга на кількість шляхів довжиною 2 з міста i до міста j; це буде ціле число від 0 до 100000 включно.
Тестові випадки закінчуються рядком, що містить лише число нуль (також передує порожній рядок).
Примітка: Великий вхідний файл; використовуйте швидкі процедури I/O.
Вихідні дані
Для кожного випадку ваша програма повинна вивести рядок. Зміст цього рядка повинен бути "YES", якщо рішення вашого однокласника щодо завдання правильне, і "NO" в іншому випадку.