CF772D.Varying Kibibits
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
You are given n integers a1,a2,...,an . Denote this list of integers as T .
Let f(L) be a function that takes in a non-empty list of integers L .
The function will output another integer as follows:
- First, all integers in L are padded with leading zeros so they are all the same length as the maximum length number in L .
- We will construct a string where the i -th character is the minimum of the i -th character in padded input numbers.
- The output is the number representing the string interpreted in base 10.
For example f(10,9)=0 , f(123,321)=121 , f(530,932,81)=30 .
Define the function
Here,
denotes a subsequence.In other words, G(x) is the sum of squares of sum of elements of nonempty subsequences of T that evaluate to x when plugged into f modulo 1000000007 , then multiplied by x . The last multiplication is not modded.
You would like to compute G(0),G(1),...,G(999999) . To reduce the output size, print the value , where
denotes the bitwise XOR operator.
输入格式
The first line contains the integer n ( 1<=n<=1000000 ) — the size of list T .
The next line contains n space-separated integers, a1,a2,...,an ( 0<=ai<=999999 ) — the elements of the list.
输出格式
Output a single integer, the answer to the problem.
输入输出样例
输入#1
3 123 321 555
输出#1
292711924
输入#2
1 999999
输出#2
997992010006992
输入#3
10 1 1 1 1 1 1 1 1 1 1
输出#3
28160
说明/提示
For the first sample, the nonzero values of G are G(121)=144611577 , G(123)=58401999 , G(321)=279403857 , G(555)=170953875 . The bitwise XOR of these numbers is equal to 292711924 .
For example, , since the subsequences [123] and [123,555] evaluate to 123 when plugged into f .
For the second sample, we have
For the last sample, we have , where
is the binomial coefficient.