Хашіго Сама#4299

Хашіго Сама

20 секунд
256 мегабайтів
Дуже складна

Челсі — сучасна художниця, яка вирішила створити свою наступну роботу, використовуючи драбини. Вона планує поєднати кілька драбин, щоб намалювати красивий візерунок.

Драбину можна уявити як граф, відомий як хасіго. Існує хасіго, пронумерованих від до n - 1. Хасіго з довжиною l_i має 2l_i + 6 вершин v_{i,0}, v_{i,1}, ..., v_{i,2l_i+5} і містить ребра між парами вершин (v_{i,j}, v_{i,j+2}) (0 \le j \le 2l_i + 3) та (v_{i,2j}, v_{i,2j+1}) (1 \le j \le l_i + 1). Нижче наведено приклад хасіго з довжиною , що відповідає графу з першого прикладу вхідних даних.

Дві хасіго та поєднуються на позиціях (0 \le p \le l_i - 1) та (0 \le q \le l_j - 1) шляхом злиття кожної пари вершин (v_{i,2p+2}, v_{j,2q+2}), (v_{i,2p+3}, v_{j,2q+4}), (v_{i,2p+4}, v_{j,2q+3}) та (v_{i,2p+5}, v_{j,2q+5}).

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

Тепер вона вирішила розфарбувати кожну вершину в чорний або білий колір, дотримуючись наступної умови:

Вона хоче спробувати всі можливі візерунки та вибрати найкращий. Однак кількість способів розфарбування може бути дуже великою. Оскільки вона не сильна в математиці чи обчисленнях, вона не може підрахувати кількість. Тож, будь ласка, допоможіть їй своїми чудовими навичками програмування!

Вхідні дані

Вхід містить кілька наборів даних, і кожен набір даних має наступний формат.

l_0 l_1 ... l_{n-1}

f_0 p_0 t_0 q_0

...

f_{n-2} p_{n-2} t_{n-2} q_{n-2}

Перший рядок містить два цілі числа (1 \le n \le 30) і (1 \le k \le 8).

Наступний рядок містить цілих чисел l_i (1 \le l_i \le 30), кожне з яких позначає довжину хасіго .

Наступні n - 1 рядків кожен містять чотири цілі числа f_i (0 \le f_i \le n - 1), p_i (0 \le p_i \le l_{f_i} - 1), t_i (0 \le t_i \le n - 1), q_i (0 \le q_i \le l_{t_i} - 1). Це означає, що хасіго f_i та хасіго t_i поєднуються на позиціях p_i та q_i. Ви можете припустити, що граф, отриманий шляхом поєднання хасіго, є зв'язним, а ступінь кожної вершини графа не перевищує .

Останній набір даних супроводжується рядком, що містить два нулі.

Вихідні дані

Для кожного набору даних виведіть кількість різних розфарбувань за модулем у рядку.

Приклади

Приклад 1

Loading
Loading