E. Эла идет в поход
ограничение по времени на тест
2.5 секунд
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Эла любит ходить в походы. Она любит природу и исследует различных животных. Однажды она увидела муравьев странного вида с каннибальскими наклонностями. В частности, муравей такого вида съест любого меньшего муравья, которого он увидит.

Заинтересовавшись этой особенностью, Эла решила провести эксперимент.

Она посадила $$$n$$$ муравьев-каннибалов в ряд на длинной деревянной палке. Изначально все муравьи имеют одинаковый вес $$$1$$$. Расстояние между любыми двумя соседними муравьями одинаково. Расстояния между первым муравьем в цепочке до левого конца палки и последним муравьем в цепочке до правого конца палки также одинаковы и равны расстоянию между двумя соседними муравьями. В какой-то момент каждый муравей начинает двигаться влево либо вправо равновероятно случайным образом с одной и той же постоянной для всех муравьев скоростью на протяжении всего эксперимента. Муравьи поворачиваются в обратную сторону сразу же, как только достигнут конца палки. Вскоре Эле удалось выяснить поведение муравьев в случае встречи.

  • Если два муравья разного веса встретятся, более тяжелый мгновенно съест более легкого и увеличит свой вес на вес более легкого. После этого он продолжит идти в том же направлении. Например, если более тяжелый муравей имеет вес $$$x$$$ и идет вправо, а более легкий имеет вес $$$y$$$ и идет влево ($$$x > y$$$), то после встречи более легкий будет съеден, а более тяжелый будет иметь вес $$$x + y$$$ и продолжит идти вправо.
  • Если два муравья одного веса встретятся, то тот, кто идет влево, мгновенно съест того, кто идет вправо, а затем продолжит идти в том же направлении. Другими словами, если один муравей веса $$$x$$$, идущий влево, встретится с другим муравьем веса $$$x$$$, идущим вправо, то муравей, идущий вправо, будет съеден, а идущий влево будет весить $$$2x$$$ и продолжит двигаться влево.

Заметьте, что два муравья могут встретиться, только если идут в разные стороны

Можно доказать, что через определенное время останется только один муравей. Изначально каждый муравей будет случайным образом равновероятно двигаться влево или вправо, что порождает $$$2^n$$$ различных случаев начального движения. Для каждого муравья вычислите вероятность того, что он в итоге выживет. Выведите ее по модулю $$$10^9 + 7$$$.

Формально, пусть $$$M = 10^9 + 7$$$. Можно показать, что ответ можно представить в виде несократимой дроби $$$\frac{p}{q}$$$, где $$$p$$$ и $$$q$$$ — целые числа, а $$$q \not \equiv 0 \pmod{M}$$$. Выведите целое число, равное $$$p \cdot q^{-1} \bmod M$$$. Другими словами, выведите такое целое число $$$x$$$, что $$$0 \le x < M$$$ и $$$x \cdot q \equiv p \pmod{M}$$$.

Входные данные

Во входных данных находятся несколько наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^3$$$) — количество наборов входных данных. Далее следуют наборы входных данных.

Единственная строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 10^6$$$) — количество муравьев в эксперименте.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$10^6$$$.

Выходные данные

Для каждого теста выведите $$$n$$$ строк. В $$$i$$$-й строке выведите единственное число, обозначающее вероятность выживания $$$i$$$-го муравья в строке по модулю $$$10^9 + 7$$$.

Пример
Входные данные
3
4
5
2
Выходные данные
0
250000002
250000002
500000004
0
250000002
250000002
250000002
250000002
0
1
Примечание

В примере на ветке находятся $$$6$$$ муравьев. Движение муравья будет обозначаться для удобства либо символом $$$L$$$, либо $$$R$$$. Пусть муравьи на ветке будут двигаться как $$$RLRRLR$$$. Вот как они ведут себя после этого:

Первоначально муравьи располагаются, как указано выше.

Через некоторое время муравей с индексом $$$2$$$ (идущий влево) встретится с муравьем с индексом $$$1$$$ (идущий вправо). Два муравья имеют одинаковый вес, поэтому муравей $$$2$$$ съест муравья $$$1$$$ и будет иметь вес $$$2$$$. То же самое произойдет с муравьем $$$5$$$ и муравьем $$$4$$$.

Муравей $$$6$$$ дойдет до конца палки, тем самым изменив свое направление.

После этого муравей с индексом $$$5$$$ встретится с муравьем с индексом $$$3$$$. Поскольку муравей $$$5$$$ тяжелее (вес $$$2$$$), чем муравей $$$3$$$ (вес $$$1$$$), муравей $$$5$$$ съест муравья $$$3$$$ и будет иметь вес $$$3$$$.

Муравей $$$2$$$ дойдет до конца палки, тем самым изменив свое направление.

После этого муравей с индексом $$$5$$$ встретится с муравьем с индексом $$$2$$$. Поскольку муравей $$$5$$$ тяжелее (вес $$$3$$$), чем муравей $$$2$$$ (вес $$$2$$$), муравей $$$5$$$ съест муравья $$$2$$$ и наберет вес $$$5$$$.

Наконец, после того, как муравей $$$5$$$ дойдет до конца ветки и изменит направление, муравей $$$5$$$ съест муравья $$$6$$$ и останется последним оставшимся муравьем.