корів з цирку фермера Джона готуються до своїх майбутніх виступів. Усі дії відбуваються на дереві з вершинами, позначеними числами від до . "Початковий стан" визначається числом (1 \le k \le n) і розміщенням корів 1, \ldots, k у вершинах дерева так, щоб жодні дві корови не знаходилися в одній вершині.
Під час виступу корови можуть здійснювати скільки завгодно "ходів". Під час одного ходу одна корова переміщується зі своєї поточної вершини в незайняту сусідню вершину. Два початкових стани вважаються еквівалентними, якщо один з них може бути досягнутий з іншого шляхом певної послідовності ходів.
Для кожного (1 \le k \le n) допоможіть коровам визначити кількість класів еквівалентності початкових станів: тобто максимальну кількість початкових станів, які вони можуть обрати, щоб жодні два не були еквівалентними. Оскільки ці числа можуть бути дуже великими, виведіть їх залишки по модулю 10^9 + 7.
Рядок містить (1 \le n \le 10^5).
Рядок (2 \le i \le n) містить два цілі числа a_i і b_i, що позначають ребро між a_i і b_i у дереві.
Для кожного (1 \le i \le n), у -му рядку виведіть відповідь для k = i по модулю 10^9 + 7.
Приклад 1
Приклад 2
Для k = 1 і k = 2 будь-які два стани можуть бути перетворені один в одного. Тепер розглянемо k = 3, і нехай c_i позначає місцезнаходження корови . Стан (c_1, c_2, c_3) = (1, 2, 3) еквівалентний станам (1, 2, 5) і (1, 3, 2). Однак не еквівалентний стану (2, 1, 3).