题目描述
给定一个长度为 n 的非负整数序列 A={a1,a2,⋯,an},对于 A 的一个子序列 B={ab1,ab2,⋯,abm}(0≤m≤n,1≤b1<b2<⋯<bm≤n,下同),称 B 是 A 的优秀子序列当且仅当,其任意两个不同元素的按位与结果均为 0,即:∀1≤i<j≤m,满足:abi and abj=0,其中 and 是按位与运算。
对于子序列 B={ab1,ab2,⋯,abm},我们定义其价值为 φ(1+∑i=1mabi),其中 φ(x) 表示小等于 x 的正整数中与 x 互质的数的个数。
现在请你求出 A 的所有优秀子序列的价值之和,答案对 109+7 取模。
输入格式
第一行一个正整数 n 表示序列长度。
第二行 n 个用空格分隔的非负整数,表示 a1,a2,⋯,an。
输出格式
仅一行一个整数,表示答案对 109+7 取模的结果。
4
1 2 2 3
12
提示
样例 1 解释
符合条件的子序列有:∅,{1},{2},{2},{3},{1,2},{1,2},它们价值依次为 1,1,2,2,2,2,2,总和为 12。
数据规模与约定
- 对于 10% 的数据,保证 ai≤1。
- 对于 30% 的数据,保证 ai≤1000。
- 对于 60% 的数据,保证 ai≤30000。
- 另有 10% 的数据,保证 n≤20。
- 对于 100% 的数据,保证 1≤n≤106,0≤ai≤2×105。