Problembeschreibung
Das langweiligste Konstruktionsproblem der Welt besteht darin, $n, m$ einzulesen und eine Matrix auszugeben, die die Bedingungen 1, 2, 3, 4, 5, 6, 7, 8 erfüllt.
Gegeben sind vier ganze Zahlen $a, b, n, s$ ($a \neq b$). Du musst eine Folge $c$ der Länge $n$ konstruieren, sodass:
- Für alle $1 \le i \le n$ gilt: $c_i \in \{a, b\}$;
- Es gibt kein zusammenhängendes Teilarray $c_l, c_{l+1}, \dots, c_r$, dessen Summe genau $s$ beträgt.
Formaler ausgedrückt existieren keine ganzen Zahlen $(l, r)$ mit $1 \le l \le r \le n$, sodass $c_l + c_{l+1} + \dots + c_r = s$ gilt.
Bestimme für jeden Testfall, ob eine solche Folge existiert:
- Falls sie existiert, gib
YESund eine beliebige gültige Folge aus; - Andernfalls gib
NOaus.
Eingabe
Die erste Zeile enthält eine ganze Zahl $T$ ($1 \le T \le 10^5$), die die Anzahl der Testfälle angibt.
Jede der nächsten $T$ Zeilen enthält vier ganze Zahlen $a, b, n, s$ ($1 \le a, b, s \le 10^9$, $1 \le n \le 5 \cdot 10^5$, $a \neq b$).
Es wird garantiert, dass die Summe aller $n$ den Wert $5 \cdot 10^5$ nicht überschreitet.
Ausgabe
Für jeden Testfall:
- Falls es keine Lösung gibt, gib eine Zeile mit
NOaus; - Falls es eine Lösung gibt, gib zuerst eine Zeile mit
YESaus und danach eine Zeile mit $n$ ganzen Zahlen, die die von dir konstruierte Folge darstellen.
Falls es mehrere gültige Antworten gibt, kannst du eine beliebige davon ausgeben.
Beispiele
Eingabe 1
3 2 4 6 8 2 5 5 9 3 4 3 7
Ausgabe 1
NO YES 2 5 5 5 2 YES 4 4 4