Pada sebuah mesin, terdapat $n$ tugas yang saling independen menunggu untuk dijadwalkan. Tugas yang mulai dijalankan pada waktu $t$ akan selesai pada waktu $t+1$. Semua tugas hanya dapat dimulai pada waktu bilangan bulat; saat sebuah tugas selesai, tugas lain dapat segera dimulai. Selama sebuah tugas sedang dijalankan, tidak ada tugas lain yang dapat dijalankan.
Setiap tugas memiliki batas waktu. Hal ini dapat dinyatakan sebagai berikut: waktu mulai dari tugas ke-$i$ harus berada di antara waktu $l_i$ dan waktu $r_i$ (inklusif).
Selain itu, terdapat $m$ batasan tambahan. Batasan ke-$j$ menyatakan bahwa di antara waktu $p_j$ dan waktu $q_j$ (inklusif), paling banyak hanya satu tugas yang boleh dimulai.
Tentukan waktu mulai dari setiap tugas sehingga memenuhi semua persyaratan di atas.
Masukan
Soal ini berisi beberapa kasus uji.
Baris pertama masukan berisi bilangan bulat tak negatif $T$, yang menyatakan banyaknya kasus uji.
Selanjutnya diberikan setiap kasus uji secara berurutan. Untuk setiap kasus uji:
Baris pertama berisi dua bilangan bulat $n$ dan $m$.
$n$ baris berikutnya masing-masing berisi dua bilangan bulat $l_i$ dan $r_i$, yang menyatakan interval waktu yang tersedia untuk tugas ke-$i$.
$m$ baris berikutnya masing-masing berisi dua bilangan bulat $p_j$ dan $q_j$, yang menyatakan interval batasan penjadwalan ke-$j$.
Keluaran
Untuk setiap kasus uji, keluarkan satu baris berisi $n$ bilangan bulat yang menyatakan waktu mulai masing-masing tugas secara berurutan. Secara khusus, jika tidak ada jadwal yang valid, keluarkan Impossible. Jika terdapat beberapa jadwal yang valid, keluarkan salah satu saja.
Contoh 1
Masukan
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
Keluaran
7 1 3 9 8 6 Impossible
Catatan
Contoh ini memenuhi batasan Subsoal $1$.
- Untuk kasus uji pertama, kedua tugas dimulai masing-masing pada waktu $7,1$. Keduanya berada dalam rentang $[l,r]$ masing-masing dan memenuhi semua batasan.
- Untuk kasus uji keempat, tiga tugas pertama hanya dapat dimulai pada waktu $6$ atau $7$. Oleh karena itu, tidak ada jadwal yang valid.
Contoh 2
Lihat ex_data2.in dan ex_data2.ans pada berkas lampiran.
Contoh ini memenuhi batasan Subsoal $2$.
Contoh 3
Lihat ex_data3.in dan ex_data3.ans pada berkas lampiran.
Contoh ini memenuhi batasan Subsoal $3$.
Contoh 4
Lihat ex_data4.in dan ex_data4.ans pada berkas lampiran.
Contoh ini memenuhi batasan Subsoal $4$.
Contoh 5
Lihat ex_data5.in dan ex_data5.ans pada berkas lampiran.
Contoh ini memenuhi batasan Subsoal $5$.
Contoh 6
Lihat ex_data6.in dan ex_data6.ans pada berkas lampiran.
Contoh ini memenuhi batasan Subsoal $6$.
Contoh 7
Lihat ex_data7.in dan ex_data7.ans pada berkas lampiran.
Contoh ini memenuhi batasan Subsoal $7$.
Contoh 8
Lihat ex_data8.in dan ex_data8.ans pada berkas lampiran.
Contoh ini memenuhi batasan Subsoal $8$.
Batasan
Misalkan $N,M$ masing-masing adalah jumlah dari $n,m$ di seluruh kasus uji dalam satu titik uji. Untuk semua kasus uji, berlaku:
- $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}$.
| Subsoal | $N\le$ | $M\le$ | Sifat Khusus | Poin |
|---|---|---|---|---|
| $1$ | $10$ | $10$ | Tidak ada | $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$ | Tidak ada | $15$ |
| $8$ | $2.5\times 10^5$ | $2.5\times 10^5$ | Tidak ada | $15$ |
$\rm A$: Dijamin bahwa $n\le100$, dan untuk semua $1\le i< n$, berlaku $l_i\le l_{i+1}$ serta $r_i\le r_{i+1}$.
$\rm B$: Untuk semua $1\le i\le n$, berlaku $r_i\le 5\max(n,m)$.
$\rm C$: Untuk semua $1\le i\le m$, berlaku $p_i=i,q_i=i+1$, dan untuk semua $1\le i\le n$, berlaku $r_i\le m$.