luogu#P6570. [NOI Online #3 提高组] 优秀子序列

[NOI Online #3 提高组] 优秀子序列

题目描述

给定一个长度为 nn 的非负整数序列 A={a1,a2,,an}A=\{a_1,a_2,\cdots,a_n\},对于 AA 的一个子序列 B={ab1,ab2,,abm}B=\{a_{b_1},a_{b_2},\cdots,a_{b_m}\}0mn0\le m\le n1b1<b2<<bmn1\le b_1<b_2<\cdots<b_m\le n,下同),称 BBAA 的优秀子序列当且仅当,其任意两个不同元素的按位与结果均为 00,即:1i<jm\forall 1\le i<j\le m,满足:abi and abj=0a_{b_i}~\mathrm{and}~a_{b_j}=0,其中  and ~\mathrm{and}~ 是按位与运算。

对于子序列 B={ab1,ab2,,abm}B=\{a_{b_1},a_{b_2},\cdots,a_{b_m}\},我们定义其价值为 φ(1+i=1mabi)\varphi(1+\sum_{i=1}^m a_{b_i}),其中 φ(x)\varphi(x) 表示小等于 xx 的正整数中与 xx 互质的数的个数。

现在请你求出 AA 的所有优秀子序列的价值之和,答案对 109+710^9+7 取模。

输入格式

第一行一个正整数 nn 表示序列长度。

第二行 nn 个用空格分隔的非负整数,表示 a1,a2,,ana_1,a_2,\cdots,a_n

输出格式

仅一行一个整数,表示答案对 109+710^9+7 取模的结果。

4
1 2 2 3
12

提示

样例 1 解释

符合条件的子序列有:\emptyset{1}\{1\}{2}\{2\}{2}\{2\}{3}\{3\}{1,2}\{1,2\}{1,2}\{1,2\},它们价值依次为 11112222222222,总和为 1212

数据规模与约定

  • 对于 10%10\% 的数据,保证 ai1a_i\le 1
  • 对于 30%30\% 的数据,保证 ai1000a_i\le 1000
  • 对于 60%60\% 的数据,保证 ai30000a_i\le 30000
  • 另有 10%10\% 的数据,保证 n20n\le 20
  • 对于 100%100\% 的数据,保证 1n1061\le n\le 10^60ai2×1050\le a_i\le 2\times 10^5