Deskripsi Masalah
Soal konstruktif paling membosankan di dunia adalah membaca $n, m$ dan mengeluarkan sebuah matriks yang memenuhi kondisi 1, 2, 3, 4, 5, 6, 7, 8.
Diberikan empat bilangan bulat $a, b, n, s$ ($a \neq b$). Anda perlu mengonstruksi sebuah barisan $c$ dengan panjang $n$ sedemikian sehingga:
- Untuk setiap $1 \le i \le n$, $c_i \in \{a, b\}$;
- Tidak terdapat subbarisan bersebelahan $c_l, c_{l+1}, \dots, c_r$ yang jumlahnya tepat $s$.
Secara lebih formal, tidak terdapat pasangan bilangan bulat $(l, r)$ yang memenuhi $1 \le l \le r \le n$ sedemikian sehingga $c_l + c_{l+1} + \dots + c_r = s$.
Untuk setiap kasus uji, tentukan apakah barisan semacam itu ada:
- Jika ada, keluarkan
YES, dan keluarkan barisan valid mana saja; - Jika tidak, keluarkan
NO.
Format Masukan
Baris pertama berisi sebuah bilangan bulat $T$ ($1 \le T \le 10^5$), yang menyatakan banyaknya kasus uji.
Masing-masing dari $T$ baris berikutnya berisi empat bilangan bulat $a, b, n, s$ ($1 \le a, b, s \le 10^9$, $1 \le n \le 5 \cdot 10^5$, $a \neq b$).
Dijamin bahwa jumlah dari semua $n$ tidak melebihi $5 \cdot 10^5$.
Format Keluaran
Untuk setiap kasus uji:
- Jika tidak ada solusi, keluarkan satu baris yang berisi
NO; - Jika ada solusi, pertama keluarkan satu baris yang berisi
YES, kemudian keluarkan satu baris yang berisi $n$ bilangan bulat yang menyatakan barisan yang Anda konstruksi.
Jika terdapat beberapa jawaban yang valid, keluarkan yang mana saja.
Contoh
Masukan 1
3 2 4 6 8 2 5 5 9 3 4 3 7
Keluaran 1
NO YES 2 5 5 5 2 YES 4 4 4