სორტირება გაცვლით

დროის ლიმიტი: 1 წმ

მეხსიერების ლიმიტი: 64 მეგაბაიტი

შემავალი მონაცემები: stdin

გამომავალი მონაცემები: stdout

წყარო: COCI, 2008/09, #4


გორანს აქვს ხის 5 პატარა ნაჭერი, რომლებიც ერთ მწკრივადაა დალაგებული. თითოეულ მათგანზე დაწერილია რიცხვი 1-დან 5-მდე და ყველა ნაჭერზე განსხვავებული რიცხვი წერია. გორანს სურს დაალაგოს ნაჭრები 1, 2, 3, 4, 5 თანმიმდევრობით და ამისთვის ასე იქცევა:

  1. თუ პირველ ნაჭერზე დაწერილი რიცხვი მეტია, ვიდრე მეორე ნაჭერზე დაწერილი რიცხვი, უცვლის მათ ადგილებს.
  2. თუ მეორე ნაჭერზე დაწერილი რიცხვი მეტია, ვიდრე მესამე ნაჭერზე დაწერილი რიცხვი, უცვლის მათ ადგილებს.
  3. თუ მესამე ნაჭერზე დაწერილი რიცხვი მეტია, ვიდრე მეოთხე ნაჭერზე დაწერილი რიცხვი, უცვლის მათ ადგილებს.
  4. თუ მეოთხე ნაჭერზე დაწერილი რიცხვი მეტია, ვიდრე მეხუთე ნაჭერზე დაწერილი რიცხვი, უცვლის მათ ადგილებს.
  5. თუ ნაჭრები არ დალაგდა 1, 2, 3, 4, 5 თანმიმდევრობით, გადადი ბიჯზე 1.

დაწერეთ პროგრამა, რომელიც მოცემული საწყისი განლაგებისათვის გამოიტანს ნაჭრების თანმიმდევრობას ყოველი გაცვლის შემდეგ. 

შესატანი მონაცემები: პირველ სტრიქონში ჰარით დაშორებული 5 რიცხვი. ყველა რიცხვი განსხვავებულია და ისინი არაადალაგებული 1, 2, 3, 4, 5 თანმიმდევრობით.

გამოსატანი მონაცემები: ნებისმიერი ორი ნაჭრისათვის ადგილის გაცვლის შემდეგ თითო სტრიქონში გამოიტანეთ ნაჭრებზე დაწერილი რიცხვების მიმდევრობა.  




მაგალითები

შესატანი მონაცემები
2 1 5 3 4 დაკოპირება
გამოსატანი მონაცემები
1 2 5 3 4 1 2 3 5 4 1 2 3 4 5 დაკოპირება