Ще одна проблема з Діснеєм
Злий чарівник Джафар має величезну колекцію ламп. Він любить торкатися їх, витирати пил, дивитися на своє відображення в них. Він любить усі майже однаково, вони дуже красиві, але для кожної пари з них він одну любить більше за іншу. Джафар зберігає свої лампи у дуже довгому залі, всі лампи в один рядок. Одного дня він вирішив розставити всі лампи вздовж свого шляху з одного боку залу на інший так, щоб для кожної пари сусідніх ламп він любив наступну більше, ніж попередню. Іншими словами, Джафар хотів би якогось роду висхідний порядок якості ламп. Ви новий слуга чарівника і повинні виконати бажання свого господаря. Основна проблема в тому, що ви нічого не знаєте про вподобання Джафара. Ви можете запитати Джафара про будь-які дві лампи, яка з них краща, але повинні бути обережні, він дуже зайнятий своїми планами з підкорення світу і не слід задавати йому занадто багато запитань. Зверніть увагу, що вподобання можуть бути нетранзитивними. Ви повинні вивести бажаний порядок усіх ламп або повідомити Джафара, що він не існує.
Вхідні дані
Перше число — N (1 ≤ N ≤ 1000). Відповідь на кожне запитання — рядок "YES", якщо Y краща за X, і "NO", якщо X краща за Y.
Вихідні дані
Ваші запитання — один рядок з трьома цілими числами 1, X, Y (1 ≤ X, Y ≤ N, X ≠ Y). Ви повинні задати не більше 10000 запитань. В останньому рядку: ціле число 0, потім N цілих чисел a_i (1 ≤ a_i ≤ N) — бажана перестановка або N нулів, якщо така перестановка не існує. Усі цілі числа в рядках повинні бути розділені пробілами.
Примітка
Канал від вашої програми до програми-інтерактора і назад має обмежений розмір. Ваша програма повинна читати зі стандартного вводу, щоб уникнути блокування. Умова блокування повідомляється як перевищення ліміту часу Wall time-limit exceeded.
Щоб очистити потік стандартного виводу, використовуйте наступні команди:
У C використовуйте fflush(stdout);
У C++ використовуйте cout.flush();
У Java використовуйте System.out.flush();
Якщо ваша програма отримує EOF (кінець файлу) на стандартному вводі, вона МАЄ негайно завершити роботу з кодом виходу 0. Невиконання цієї вимоги може призвести до помилки перевищення ліміту часу.