Побудова остовних дерев#11268

Побудова остовних дерев

1 секунда
128 мегабайтів
Складна

Розгляньмо неорієнтований повний простий граф з вершинами. Вершини графа пронумеровані від до . Кожна пара різних вершин з'єднана одним неорієнтованим ребром, тому граф містить рівно n \cdot (n - 1) / 2 ребер.

Вам задано множину , що складається з n - 3 ребер цього графа . Зокрема, вам надано два масиви і , кожен з яких містить n - 3 елементів. Для кожного допустимого , пара (x_i, y_i) є одним з ребер у .

Остовне дерево графа — це підмножина з n - 1 ребра графа , яка з'єднує всі вершин. Ребра остовного дерева утворюють дерево, яке є підграфом графа і охоплює всі його вершини.

Нас цікавлять остовні дерева, які містять усі ребра з множини . Знайдіть кількість таких остовних дерев за модулем . Два остовні дерева вважаються різними, якщо існує ребро графа , яке належить одному з них, але не належить іншому.

Вхідні дані

Перший рядок містить число n~(4 \le n \le 1000). Другий і третій рядки містять масиви і y~(1 \le x_i, y_i \le n) довжини n - 3 кожен.

Вихідні дані

Виведіть кількість остовних дерев за модулем .

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Приклад 3

Loading
Loading