Дерево з щасливими цифрами
Обмеження: 2 сек., 256 МіБ
У Зеника є кореневе дерево, у кожній вершині якого записано по одній щасливій цифрі 4 або 7.
Допоки у дереві є хоча б одна вершина із цифрою 7, послідовно виконується наступний крок: випадковим чином вибирається довільна вершина дерева, і в усіх вершинах її піддерева щаслива цифра змінюється на протилежну (4 на 7 або навпаки).
Допоможіть Зенику порахувати очікувану кількість кроків, яку буде виконано.
Вхідні дані
У першому рядку задано одне ціле число n — кількість вершин дерева.
У другому рядку задано n чисел ai — початкові щасливі цифри, записані на вершинах дерева.
У останньому рядку задано n−1 число pi (2≤i≤n,pi<i) — номер батька вершини i у дереві. Для першої вершини немає батька, бо вона є коренем дерева.
Вихідні дані
Неважко показати, що відповідь завжди можна представити у вигляді дробу ab. У єдиному рядку виведіть одне ціле число — a⋅b−1 по модулю 109+7.
Обмеження
2≤n≤200,
ai∈{4,7}.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
2 4 7 1 | 3 |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
3 4 4 7 1 2 | 7 |