Cho một dãy số $A = \{a_1, a_2, a_3, \cdots, a_N\}$ có độ dài $N$ là một cấp số cộng hữu hạn với số hạng đầu là $a$ và công sai là $d$.
Với một số nguyên dương $M$, hãy tìm dãy con dài nhất của $A$ có tổng các phần tử bằng $M$.
Dãy con là dãy thu được bằng cách loại bỏ $0$ hoặc nhiều phần tử từ dãy ban đầu trong khi vẫn giữ nguyên thứ tự của các phần tử còn lại.
Dữ liệu vào
Dòng đầu tiên chứa bốn số nguyên $N, a, d, M$ cách nhau bởi dấu cách. $(1 \leq N, a, d \leq 10^6;$ $1 \leq M \leq 10^{18})$
Dữ liệu ra
Dòng đầu tiên in ra độ dài $L$ của dãy con dài nhất có tổng bằng $M$.
Dòng thứ hai in ra $L$ phần tử của dãy con đó, cách nhau bởi dấu cách. Nếu có nhiều đáp án, hãy in ra bất kỳ đáp án nào trong số đó.
Nếu không tồn tại dãy con như vậy, hãy in ra $-1$ ở dòng đầu tiên.
Ví dụ
Dữ liệu vào 1
5 2 2 10
Dữ liệu ra 1
2 4 6
Ghi chú
Trong ví dụ 1, dãy số được cho là $A = \{2, 4, 6, 8, 10\}$. Các ứng viên cho dãy con $B$ có tổng bằng $10$ là $\{10\}$, $\{2, 8\}$, và $\{4, 6\}$. Trong số đó, các dãy con dài nhất là $\{2, 8\}$ và $\{4, 6\}$, vì vậy bạn có thể in ra bất kỳ dãy nào trong hai dãy này.
Dữ liệu vào 2
3 1 2 7
Dữ liệu ra 2
-1