#arc066a. [arc066_a]Lining Up

[arc066_a]Lining Up

有编号为1-N号的N个人,他们都记得“自己左边排队的人数和自己右边排队的人数之差的绝对值”,根据他们的报告,给你i的「自己的左排列的人数和自己的右排列的人数的差的绝对值」Ai。 请根据他们的报告,求出原来的排列方法有几种。但是,因为答案有时候会变得很大,请对10^9+7取模 。另外,他们的报告可能有错误,没有可能的排列方法,此时请输出0。

范围:

1N105;0AiN1.1≦N≦10^5; 0≦Ai≦N−1.