AT_arc048_c [ARC048C] 足の多い高橋君
题目描述
高桥君有 $N$ 条腿,第 $i$ 条腿由 $L_i$ 块骨头首尾相连组成。所有腿的一端都连接在高桥君的躯干上,而躯干本身没有骨头。
这次高桥君打算在自己所有腿的所有骨头上写上 $0$ 或 $1$ 这两个字符中的一个。
高桥君对写字符的方式有很强的执着:对于任意两条不同的腿 $A,B$,如果从 $A$ 的远离躯干的一端出发,经过躯干,再到 $B$ 的远离躯干的一端,沿途依次读取骨头上的字符,所得的字符串是回文串,则高桥君会感到满意,并且只有在这种情况下才会满意。
请你求出高桥君感到满意的写法有多少种,并将答案对 $10^9+7$ 取模后输出。
输入格式
输入按以下格式从标准输入读入。
> $N$
> $L_1$
> $L_2$
> $\vdots$
> $L_N$
- 第 $1$ 行包含一个整数 $N$,表示高桥君的腿的数量,$1 \leq N \leq 100000$。
- 接下来的 $N$ 行,每行包含一个整数 $L_i$,表示第 $i$ 条腿的长度,$1 \leq L_i \leq 10^9$。
输出格式
输出一个整数,表示高桥君感到满意的写法数对 $10^9+7$ 取模的结果。
输出最后请不要忘记换行。
说明/提示
### 样例解释 1
对于 $3$ 条腿,从远离躯干的一端开始读取每条腿的字符串,例如 $(01,0111,01111111)$ 等都满足条件。
由 ChatGPT 4.1 翻译