Komandaları xilas edin
Olimpiadada 2n komanda n müxtəlif universitetdən iştirak edir və hər universitetdən dəqiq iki komanda var. Bütün komandalar uzun bir masada sırayla otururlar. Sem komandaların ilkin yerləşməsini müəyyən edib.
Məlumdur ki, Yura komandaları diskvalifikasiya etməyi çox sevir. O hesab edir ki, əgər bir komandanın yanında eyni universitetdən olan komanda oturursa, həmin komanda diskvalifikasiya edilməlidir. Komandalar isə qalibiyyət şanslarını qorumaq istəyirlər. Sem tərəfindən fərq edilməmək üçün bir dəqiqə ərzində yalnız iki komanda (mütləq qonşu olmaya bilər) yerlərini dəyişə bilər.Komandalara elə bir vəziyyətə çatmaqda kömək edin ki, Yura heç bir komandaya diskvalifikasiya tətbiq edə bilməsin, yəni eyni universitetdən olan heç bir iki komanda yan-yana oturmasın. Bu məhdudiyyətlər altında bunu həmişə etmək mümkün olduğunu sübut etmək olar.
Giriş məlumatları
Birinci sətir universitetlərin sayını n (2 ≤ n ≤ 10^5
) ehtiva edir.
İkinci sətir 2n tam ədədləri p[1]
, p[2]
, ..., p[2n]
(1 ≤ p[i]
≤ **n`) - i-ci yerdə oturan komandanın universitetini ehtiva edir. Hər universitetdən dəqiq iki komanda olduğu təmin edilir.
Çıxış məlumatları
Birinci sətirdə komandaların arzu olunan nəticəyə çatması üçün lazım olan minimal dəqiqə sayını k çıxarın.
Növbəti k sətirdə hər biri iki tam ədəd a[i]
və b[i]
(1 ≤ a[i]
, b[i]
≤ 2n) - i-ci dəqiqədə yerlərini dəyişən komandaların mövqelərini çıxarın.
Əgər bir neçə mümkün cavab varsa, onlardan hər hansı birini çıxarın.