Sıra (queue), "ilk daxil olan, ilk çıxar" (FIFO) prinsipinə əsaslanan bir verilənlər strukturu olaraq fəaliyyət göstərir: elementlər yalnız sonuna əlavə oluna və yalnız önündən çıxarıla bilər. Bu o deməkdir ki, elementlər əlavə olunduqları sırayla çıxarılırlar.
Sıralama verilmiş ədədlər massivini (və ya digər obyektləri) artan və ya azalan sıralamada düzülməsi işidir. Bu işin bir çox variantı mövcuddur və onlar üçün effektiv alqoritmlər var.
Bu məsələdə biz giriş axını, çıxış axını və ədəd sıradan (queue) ibarət xüsusi bir qurğuya baxırıq. Sıralar -dən -ya kimi nömrələnir.
Verilmiş tapşırıq belədir: giriş axınına ardıcıl gələn müxtəlif ədəd verilmişdir, bu cihaz üçün elə bir proqram yazın ki, həmin ədədlər çıxış axınına artan sıralama üzrə çıxsın.
Proqram dəqiq əməliyyatdan ibarət olmalıdır. Hər bir əməliyyat ya giriş axınından bir ədəd oxuyub onu müəyyən bir sıraya əlavə edir, ya da müəyyən bir sıradan bir ədədi çıxarıb çıxış axınına göndərir. Qeyd edin ki, bütün əlavə etmə əməliyyatları tamamlanana qədər heç bir çıxarma əməliyyatı həyata keçirilə bilməz.
Birinci sətirdə bir tam ədəd (1 \leq n \leq 300) verilir.
İkinci sətirdə müxtəlif tam ədəd a_1, a_2, \ldots, a_n ardıcıllıqla giriş axınında gəlir (1 \leq a_i \leq 10^9, bütün üçün 1 \leq i \leq n).
Üçüncü sətirdə bir tam ədəd (1 \leq k \leq n) verilir.
Əgər sıralama mümkün deyilsə, NO çap edin.
Əks halda, əvvəlcə YES və sonra sıralama proqramını təsvir edən sətir çap edin. Hər bir sətirdə bir əməliyyat aşağıdakı formatlardan birində olmalıdır:
I(j): Giriş axınından bir elementi oxuyub nömrəli sıraya əlavə et (1 \leq j \leq k).
R(j): nömrəli sıradan bir elementi çıxarıb çıxış axınına göndər (1 \leq j \leq k).
Nümunə 1
Nümunə 2