신기한 수열

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

길이 $N$의 정수열 $A$의 모든 원소를 Bitwise XOR한 값이 $X$일 때 $A$를 신기한 수열이라고 한다. $(0 \leq A_i < 2^M)$

가능한 모든 길이 $N$의 신기한 수열 중에서 균등한 확률로 수열 $A$를 골랐을 때 $\sum_{i=1}^{N}{ A_i }$의 기댓값을 구해보자.

입력

첫째 줄에 $N$, $M$이 공백으로 구분되어 주어진다. $(1 \leq N \leq 10^{18};$ $1 \leq M \leq 200\,000)$

둘째 줄에 $X$가 부호 없는 $M$자리 이진수 형태로 주어진다.

출력

$\sum_{i=1}^{N}{A_i}$의 기댓값을 소수 $10^9+7(=1\,000\,000\,007)$로 나눈 나머지를 출력한다.

서로소인 두 양의 정수 $a, b$에 대해 유리수 $\frac{b}{a}$를 $10^9+7$으로 나눈 나머지란, $a \times x \equiv b \pmod{10^9+7}$이며 $10^9+7$ 미만인 음이 아닌 정수 $x$를 의미한다.

가능한 모든 입력에 대해 그러한 $x$가 존재하며 유일함을 증명할 수 있다.