Dekompazisiya
Bir sıra T verilib, bu sıra yalnız 0 və 1 -lərdən ibarətdir. Bu sıranın bütün dövri sürüşmələrini nəzərdən keçirək. Bunun üçün simvolları dairəvi şəkildə yazırıq və istənilən simvoldan başlayaraq, saat əqrəbi istiqamətində hərəkət edərək, başlanğıc nöqtəsinə çatana qədər simvolları yazırıq. Məsələn, "01101" üçün leksikoqrafik sıralamadan sonra aşağıdakı 5 variantı alırıq: "01011", "01101", "10101", "10110", "11010". Əgər sıra T sıralamadan sonra birinci olan dövri sürüşmə variantı ilə üst-üstə düşürsə, onu "boyunbağı" adlandıracağıq. Beləliklə, "001" "boyunbağı"dır, amma "01101" deyil.
İstənilən sıra S yalnız bir şəkildə T_i "boyunbağılarının" birləşməsi kimi yazıla bilər: S = T_1 T_2 … T_k elə ki, T_i T_{i+1} "boyunbağı" olmasın və T_{i+1} < T_i bütün i üçün 0 -dan k−1 -ə qədər. A < B münasibəti o deməkdir ki, ya B-nin ilk simvolları A ilə üst-üstə düşür və bu halda A-nın uzunluğu B-dən kiçikdir, ya da A-nın ilk m simvolları B-nin ilk m simvolları ilə üst-üstə düşür və (m+1)-ci simvol A < (m+1)-ci simvol B. Məsələn, 001 < 0010 və 1101011 < 110110. Verilən sıranın "boyunbağı" birləşməsi kimi təqdimatını tapan proqram yazın.
Giriş verilənləri
Uzunluğu 100 simvoldan çox olmayan və yalnız 0 və 1 -lərdən ibarət olan bir sıra daxil edilir.
Çıxış verilənləri
Daxil edilmiş sıranın yuxarıda təsvir edilmiş "boyunbağı" birləşməsi kimi təqdimatını çıxarın. Hər bir "boyunbağı" dairəvi mötərizələrdə çıxarılmalıdır.