Xét một dãy số \(a_1, a_2, \cdots, a_n\) thỏa các điều kiện sau:
- \(a_1 = 0\)
- Với mọi \(1 \le i < n\): \(|a_i - a_{i+1}| = 1\)
Gọi \(s = \sum_{i=1}^n a_i\) là tổng của \(n\) phần tử đầu tiên.
Cho trước \(n\) và \(s\), hãy:
- Tính số lượng dãy số thỏa mãn điều kiện trên, modulo \(2^{64}\)
- In ra tối đa 100 dãy số hợp lệ.
Định dạng vào
Một dòng gồm hai số nguyên: \(n\) và \(s\)
Định dạng ra
- Dòng 1: số dãy thỏa mãn điều kiện, modulo \(2^{64}\)
- Tối đa 100 dòng tiếp theo: mỗi dòng là một dãy hợp lệ
Input
4 0
Output
2
0 -1 0 1
0 1 0 -1
Ràng buộc
- \(1 \le n \le 100\)
- \(-2^{63} \le s < 2^{63}\)
Lưu ý
- Các dãy phải bắt đầu từ \(0\) và mỗi bước nhảy là \(+1\) hoặc \(-1\).
- Tổng của dãy phải bằng \(s\).
- Dữ liệu có chấm điểm đặc biệt (SPJ): chỉ cần in đúng kết quả và các dãy hợp lệ là được.
Nhận xét