CF850E.Random Elections

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

The presidential election is coming in Bearland next year! Everybody is so excited about this!

So far, there are three candidates, Alice, Bob, and Charlie.

There are nn citizens in Bearland. The election result will determine the life of all citizens of Bearland for many years. Because of this great responsibility, each of nn citizens will choose one of six orders of preference between Alice, Bob and Charlie uniformly at random, independently from other voters.

The government of Bearland has devised a function to help determine the outcome of the election given the voters preferences. More specifically, the function is (takes nn boolean numbers and returns a boolean number). The function also obeys the following property: f(1x1,1x2,...,1xn)=1f(x1,x2,...,xn)f(1-x_{1},1-x_{2},...,1-x_{n})=1-f(x_{1},x_{2},...,x_{n}) .

Three rounds will be run between each pair of candidates: Alice and Bob, Bob and Charlie, Charlie and Alice. In each round, xix_{i} will be equal to 11 , if ii -th citizen prefers the first candidate to second in this round, and 00 otherwise. After this, y=f(x1,x2,...,xn)y=f(x_{1},x_{2},...,x_{n}) will be calculated. If y=1y=1 , the first candidate will be declared as winner in this round. If y=0y=0 , the second will be the winner, respectively.

Define the probability that there is a candidate who won two rounds as pp . p6np·6^{n} is always an integer. Print the value of this integer modulo 109+7=1 000 000 00710^{9}+7=1\ 000\ 000\ 007 .

输入格式

The first line contains one integer nn ( 1<=n<=201<=n<=20 ).

The next line contains a string of length 2n2^{n} of zeros and ones, representing function ff . Let bk(x)b_{k}(x) the kk -th bit in binary representation of xx , ii -th (0-based) digit of this string shows the return value of f(b1(i),b2(i),...,bn(i))f(b_{1}(i),b_{2}(i),...,b_{n}(i)) .

It is guaranteed that f(1x1,1x2,...,1xn)=1f(x1,x2,...,xn)f(1-x_{1},1-x_{2},...,1-x_{n})=1-f(x_{1},x_{2},...,x_{n}) for any values of x1,x2,ldots,xnx_{1},x_{2},ldots,x_{n} .

输出格式

Output one integer — answer to the problem.

输入输出样例

  • 输入#1

    3
    01010101
    

    输出#1

    216
    
  • 输入#2

    3
    01101001
    

    输出#2

    168
    

说明/提示

In first sample, result is always fully determined by the first voter. In other words, f(x1,x2,x3)=x1f(x_{1},x_{2},x_{3})=x_{1} . Thus, any no matter what happens, there will be a candidate who won two rounds (more specifically, the candidate who is at the top of voter 1's preference list), so p=1p=1 , and we print 163=2161·6^{3}=216 .

首页