Auf einer Maschine warten $n$ voneinander unabhängige Aufgaben darauf, eingeplant zu werden. Eine Aufgabe, deren Ausführung zum Zeitpunkt $t$ gestartet wird, ist zum Zeitpunkt $t+1$ abgeschlossen. Alle Aufgaben können nur zu ganzzahligen Zeitpunkten gestartet werden; sobald eine Aufgabe abgeschlossen ist, kann sofort eine andere Aufgabe gestartet werden. Während eine Aufgabe ausgeführt wird, kann keine andere Aufgabe ausgeführt werden.
Die Aufgaben sind zeitgebunden. Genauer gesagt muss der Startzeitpunkt der $i$-ten Aufgabe zwischen dem Zeitpunkt $l_i$ und dem Zeitpunkt $r_i$ (jeweils einschließlich) liegen.
Darüber hinaus gibt es $m$ Bedingungen. Die $j$-te Bedingung besagt, dass zwischen dem Zeitpunkt $p_j$ und dem Zeitpunkt $q_j$ (jeweils einschließlich) höchstens eine Aufgabe gestartet werden darf.
Bitte bestimmen Sie den Startzeitpunkt jeder Aufgabe so, dass alle oben genannten Anforderungen erfüllt sind.
Eingabe
Dieses Problem enthält mehrere Testfälle.
Die erste Zeile der Eingabe enthält eine nichtnegative ganze Zahl $T$, die die Anzahl der Testfälle angibt.
Anschließend folgen nacheinander die einzelnen Testfälle. Für jeden Testfall gilt:
Die erste Zeile enthält zwei ganze Zahlen $n$ und $m$.
Die nächsten $n$ Zeilen enthalten jeweils zwei ganze Zahlen $l_i$ und $r_i$, die das verfügbare Zeitintervall für die $i$-te Aufgabe angeben.
Die nächsten $m$ Zeilen enthalten jeweils zwei ganze Zahlen $p_j$ und $q_j$, die das $j$-te Planungsbedingungsintervall angeben.
Ausgabe
Geben Sie für jeden Testfall eine Zeile mit $n$ ganzen Zahlen aus, die der Reihe nach die Startzeitpunkte der einzelnen Aufgaben angeben. Insbesondere gilt: Falls keine gültige Lösung existiert, geben Sie Impossible aus. Falls mehrere gültige Lösungen existieren, können Sie eine beliebige davon ausgeben.
Beispiel 1
Eingabe
4 2 3 2 7 1 10 7 8 2 10 1 6 2 2 2 5 1 9 1 5 4 9 2 4 3 8 3 6 2 7 4 7 8 9 1 6 4 1 6 7 6 7 6 7 1 11 21 31
Ausgabe
7 1 3 9 8 6 Impossible
Hinweis
Dieses Beispiel erfüllt die Bedingungen von Teilaufgabe $1$.
- Im ersten Testfall starten die beiden Aufgaben zu den Zeitpunkten $7,1$. Beide liegen innerhalb ihres jeweiligen Bereichs $[l,r]$ und erfüllen alle Bedingungen.
- Im vierten Testfall können die ersten drei Aufgaben alle nur zum Zeitpunkt $6$ oder $7$ gestartet werden. Daher existiert keine gültige Lösung.
Beispiel 2
Siehe ex_data2.in und ex_data2.ans in den bereitgestellten Dateien.
Dieses Beispiel erfüllt die Bedingungen von Teilaufgabe $2$.
Beispiel 3
Siehe ex_data3.in und ex_data3.ans in den bereitgestellten Dateien.
Dieses Beispiel erfüllt die Bedingungen von Teilaufgabe $3$.
Beispiel 4
Siehe ex_data4.in und ex_data4.ans in den bereitgestellten Dateien.
Dieses Beispiel erfüllt die Bedingungen von Teilaufgabe $4$.
Beispiel 5
Siehe ex_data5.in und ex_data5.ans in den bereitgestellten Dateien.
Dieses Beispiel erfüllt die Bedingungen von Teilaufgabe $5$.
Beispiel 6
Siehe ex_data6.in und ex_data6.ans in den bereitgestellten Dateien.
Dieses Beispiel erfüllt die Bedingungen von Teilaufgabe $6$.
Beispiel 7
Siehe ex_data7.in und ex_data7.ans in den bereitgestellten Dateien.
Dieses Beispiel erfüllt die Bedingungen von Teilaufgabe $7$.
Beispiel 8
Siehe ex_data8.in und ex_data8.ans in den bereitgestellten Dateien.
Dieses Beispiel erfüllt die Bedingungen von Teilaufgabe $8$.
Einschränkungen
Seien $N,M$ jeweils die Summen von $n,m$ über alle Testfälle innerhalb eines einzelnen Testpunkts. Für alle Testdaten gilt:
- $1 \le n \le 2.5 \times 10^5,0 \le m \le 2.5 \times 10^5$;
- $1 \le l_i \le r_i \le 10^{9}$;
- $1 \le p_j \le q_j \le 10^{9}$.
| Teilaufgabe | $N\le$ | $M\le$ | Besondere Eigenschaft | Punkte |
|---|---|---|---|---|
| $1$ | $10$ | $10$ | Keine | $5$ |
| $2$ | $2.5\times 10^5$ | $2.5\times 10^5$ | $\rm A$ | $5$ |
| $3$ | $10^3$ | $10^3$ | $\rm B$ | $15$ |
| $4$ | $2.5\times 10^5$ | $2.5\times 10^5$ | $\rm C$ | $15$ |
| $5$ | $10^4$ | $10^4$ | $\rm B$ | $15$ |
| $6$ | $10^5$ | $10^5$ | $\rm B$ | $15$ |
| $7$ | $10^5$ | $10^5$ | Keine | $15$ |
| $8$ | $2.5\times 10^5$ | $2.5\times 10^5$ | Keine | $15$ |
$\rm A$: Es wird garantiert, dass $n\le100$ gilt, und für alle $1\le i< n$ gilt $l_i\le l_{i+1}$ sowie $r_i\le r_{i+1}$.
$\rm B$: Für alle $1\le i\le n$ gilt $r_i\le 5\max(n,m)$.
$\rm C$: Für alle $1\le i\le m$ gilt $p_i=i,q_i=i+1$, und für alle $1\le i\le n$ gilt $r_i\le m$.