POWER (DHBB 2021 T.Thử)

Xem PDF

Điểm: 300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Đế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\)\(k\) (\(1 \le n \le 10^{18}; 1 \le k \le 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\).

Example

Test 1

Input
5 1 
1 
4 2 
4 2 
0 0 
Output
32  
8

Bình luận

Không có bình luận nào.