Сортування вагонів - B
Сортування вагонів - B
До тупика зі сторони колії 1 (див. рисунок) під'їхав потяг. Дозволяється відцепити від потяга один чи відразу декілька перших вагонів і завезти їх у тупик (при бажанні, можна навіть завезти у тупик відразу увесь потяг). Після цього частину з цих вагонів вивезти у сторону колії 2. Після цього можна завезти у тупик ще декілька вагонів і знову частину вагонів, що опинились у тупику, вивезти у сторону колії 2. І так далі (так, що кожен вагон може лише один раз заїхати з колії 1 у тупик, а потім один раз виїхати з тупика на колію 2). Заїзжати у тупик з колії 2 чи виїзжати з тупика на колію 1 забороняється. Не можна з колії 1 потрапити на колію 2, не заїзжаючи у тупик.
Відомо, у якому порядку спочатку йдуть вагони потяга. Потрібно за допомогою вказаних операцій зробити так, щоб вагони потягу йшли по порядку (спочатку перший, потім другий і т.д., рахуючи від голови потяга, що їде по колії 2 у сторону від тупика). Напишіть програму, яка визначає, чи можна це зробити.
Вхідні дані
Першим йде кількість вагонів у потязі n (1 ≤ n ≤ 100). Далі йдуть номери вагонів у порядку від голови потягу, який їде по колії 1 у сторону тупика. Вагони пронумеровано натуральними числами від 1 до n, кожне з яких зустрічається рівно один раз.
Вихідні дані
Якщо зробити так, щоб вагони йшли у порядку від 1 до n, рахуючи від голови потяга, коли потяг поїде по колії 2 з тупика, можна, виведіть повідомлення YES, якщо це зробити не можна, виведіть NO.
3 3 2 1
YES
4 4 1 3 2
YES
3 2 3 1
NO
Пояснення: У 1-му прикладі потрібно увесь потяг завезти у тупик, а потім цілком вивезти його на 2-гу колію. У 2-му прикладі спочатку потрібно у тупик завезти два вагони, один з яких залишити у тупику, а другий — вивезти на 2-гу колію, після чого завезти у тупик ще д