atcoder#ARC084D. [ARC084F] XorShift
[ARC084F] XorShift
Score : points
Problem Statement
There are non-negative integers written on a blackboard. The -th integer is .
Takahashi can perform the following two kinds of operations any number of times in any order:
- Select one integer written on the board (let this integer be ). Write on the board, without erasing the selected integer.
- Select two integers, possibly the same, written on the board (let these integers be and ). Write XOR (XOR stands for bitwise xor) on the blackboard, without erasing the selected integers.
How many different integers not exceeding can be written on the blackboard? We will also count the integers that are initially written on the board. Since the answer can be extremely large, find the count modulo .
Constraints
- All input values are integers.
- and are given in binary notation, with the most significant digit in each of them being .
Input
Input is given from Standard Input in the following format:
Output
Print the number of different integers not exceeding that can be written on the blackboard.
3 111
1111
10111
10010
4
Initially, , and are written on the blackboard. Among the integers not exceeding , four integers, , , and , can be written. For example, can be written as follows:
- Double to write .
- Take XOR of and to write .
- Double to write .
- Take XOR of and to write .
4 100100
1011
1110
110101
1010110
37
4 111001100101001
10111110
1001000110
100000101
11110000011
1843
1 111111111111111111111111111111111111111111111111111111111111111
1
466025955
Be sure to find the count modulo .