Thi thử Duyên hải 2021 - Lần 3 - Bài 2 - POWER

View as PDF

Submit solution

Points: 0.40 (partial)
Time limit: 1.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem type
Allowed languages
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

In case the statement didn't load correctly, you can download the statement here: Statement

Đế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 \leq n \leq 10^{18}~; ~1 \leq k \leq 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

Comments

Please read the guidelines before commenting.



  • -2
    tiozo  commented on July 17, 2021, 9:06 a.m. edited

    cái đề bài ở bên dưới không có bài power thì phải


    • 3
      I_love_Hoang_Yen  commented on July 18, 2021, 3:33 p.m.

      Đề bài power ở ngay trang đầu, bài thứ 2.


      • 0
        tiozo  commented on July 20, 2021, 5:26 a.m.

        à vâng, lỗi em không nhìn thấy


  • 2
    I_love_Hoang_Yen  commented on May 8, 2021, 1:06 p.m.

    Đề viết lỗi: n <= 1018 phải là n <= 10^18


    • 1
      hung3a8  commented on May 8, 2021, 1:08 p.m.

      Ok em sửa rồi nha anh