| Отбор на ВКОШП.Junior 18-02-23 |
|---|
| Закончено |
Недавно директору Ресторана Отеля пришла в голову следующая мысль: «Все какое-то обычное. Надо что-то модернизировать!» Именно так и решили заменить всех официантов на роботов или, точнее, робоантов.
Но вот беда! Денег на закупку высококачественного оборудования не нашлось, и партия робоантов была заказана в ОАО «В Гараже у Петровича». И вот теперь, спустя неделю работы по непонятным причинам робоанты начали глючить. Проблема в том, что скоро в Отеле большой банкет. Для его проведения в Ресторане уже расставили $$$n$$$ столов и приготовили $$$n$$$ блюд. Все блюда попарно различны и имеют номера от $$$1$$$ до $$$n$$$. Изначально, блюда по мере готовности как-то расставили по $$$n$$$ столам, причем на каждый стол поставили только одно блюдо. Однако, к банкету необходимо расставить все на свои места, а именно, $$$i$$$-е блюдо должно оказаться на $$$i$$$-м столе.
Рядом с каждым столом изначально стоит робоант. Далее каждый робоант независимо от других может выполнять следующую операцию неограниченное число раз: пусть сейчас робоант стоит у $$$i$$$-го стола. Тогда, если у него с собой нет ни одного блюда, он может взять (а может и не брать) блюдо в данный момент, находящееся на $$$i$$$-м столе и перейти к любому $$$j$$$-му столу при условии, что $$$i$$$ и $$$j$$$ имеют общий делитель больший $$$1$$$. Далее, если у робоанта есть с собой блюдо, он может положить его на $$$j$$$-й стол (а может и не класть).
Теперь директор просит помочь ему у написать программу, которая определит, смогут ли его робоанты расставить все блюда по местам.
В первой строке записано одно целое число $$$n$$$ ($$$1 \le n \le 200\,000$$$) — количество столиков в Ресторане.
Во-второй строке записано $$$n$$$ различных целых чисел $$$a_1, a_2, \dots a_n$$$ ($$$1 \le a_i \le n$$$) — номера блюд изначально расставленных на соответственно $$$1$$$-й, $$$2$$$-й, ... $$$n$$$-й столиках.
Выведите «YES», если робоанты смогут расставить все блюда по местам, и «NO» в противном случае случае.
9 1 8 3 6 5 4 7 2 9
YES
6 6 2 3 5 4 1
NO
Рассмотрим первый пример: здесь расставить все по местам может один робоант, изначально стоящий у второго стола. Для этого он:
Можно доказать, что во втором примере невозможно расставить все блюда по местам.
| Название |
|---|


