ЗАДАЧА H
Первый наряд вне очереди
Имя входного файла: | army1.in |
Имя выходного файла: | army1.out |
Ограничение по времени: | 1 секунда |
Ограничение по памяти: | 64 Мб |
Прапорщик Шматко очень любит отправлять солдат в наряд. Однако недавно в часть на срочную службу поступил сын прапорщика. И теперь Шматко хочет всегда так выбирать солдат для выполнения работ, чтобы его сын никогда не попадал в наряд. По совету служащего в части известного математика, Шматко решил использовать следующую схему выбора солдат для выполнения наряда.
Изначально он составил список из N фамилий всех солдат роты, отсортированный по алфавиту. При этом оказалось, что его сын стоит в этом списке последним. Каждый день, прапорщик отправляет в наряд солдат, стоящих в списке под простыми номерами. При этом он вычеркивает их из списка и дописывает в начало списка, соблюдая относительный порядок.
Например, если изначально список состоял из 6 солдат под номерами:
1, 2, 3, 4, 5, 6
, то после первого дня он будет выглядеть так:
2, 3, 5, 1, 4, 6
, после второго дня так:
3, 5, 4, 2, 1, 6
и так далее.
Для начала Шматко хочет проверить, не соврал ли математик, т.е. действительно ли его сын, стоящий в списке из N солдат последним, никогда не отправится в наряд.
Входные данные
Во входном файле содержится единственное целое число N (1 <= N <= 1000000000) - количество солдат в списке.
Выходные данные
Если сын прапорщика никогда не отправится в наряд, то в единственную строку выходного файла выведите слово YES, если же математик соврал - то выведите NO.
Пример
army1.in | army1.out | Примечание |
---|---|---|
|
|
В первый же день в наряд пойдут солдаты с номерами 2 и 3, а сын прапорщика стоит в списке под номером 3. |
|
|