logo AlgoBeat OnlineJudge
登录 注册

#213934. 【模板】集合幂级数 ln(非素数模数)

内存限制:512 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

本题为 集合幂级数 ln 的非素数模数版本。


给定一个集合幂级数 ,保证 。定义 的乘法为子集卷积,可以证明存在一个 满足 ,你需要对 求出 取模后的值。

如果你仍不清楚题意,可以阅读题面最后的提示部分。

输入格式

第一行一个正整数

接下来一行 个非负整数,第 个整数表示 ,其中 当且仅当 二进制下从低到高第 位为

输出格式

输出一行 个非负整数,第 个整数表示 取模后的值,其中 当且仅当 二进制下从低到高第 位为

样例

样例输入 1

2
1 2 3 4

样例输出 1

0 2 3 18446744073709551614

样例输入 2

4
1 8 3 9 2 0 1 8 7 0 0 1 7 3 4 1

样例输出 2

0 8 3 18446744073709551601 2 18446744073709551600 18446744073709551611 78 7 18446744073709551560 18446744073709551595 274 18446744073709551609 171 60 18446744073709550139

数据范围与提示

对于所有数据,保证

本题有 个测试点,第 个测试点满足

【提示】

假设 ,那么

在本题中, 的乘法被定义为子集卷积,即:

的定义如下:

可以证明本题答案唯一。