POWER (DHBB 2021 T.Thử)

View as PDF

Submit solution

Points: 200.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Đếm số cách chia các số nguyên dương từ 1 đến ~n~ vào hai nhóm sao cho mọi cặp hai số khác nhau thuộc cùng một nhóm có tổng không thuộc tập ~k~ số cho trước. ~k~ số này là luỹ thừa của 2.

INPUT

  • Gồm không quá 10000 test.
    • Mỗi test bắt đầu bằng một dòng chứa 2 số nguyên ~n~ và ~k~ (~1 ≤ n ≤ 10^{18}; 1 ≤ k ≤ 61~).
    • Dòng thứ hai chứa ~k~ số nguyên dương là luỹ thừa của 2 và không vượt quá ~2n~.
    • Dữ liệu kết thúc bằng một dòng chứa hai số 0.

OUTPUT

  • Với mỗi test, ghi ra số cách phân nhóm theo ~modulo\ 1000000007~.

Sample Input

5 1 
1 
4 2 
4 2 
0 0

Sample Output

32  
8

Nguồn: 2021 Thi thử


Comments

Please read the guidelines before commenting.


There are no comments at the moment.