Недавно Тимофей начал изучать алгоритмы и сейчас проходит сортировку. Чтобы закрепить материал, Тимофей решил поупражняться на строке S длины N, состоящей из нулей и единиц. Отсортировать строку целиком было бы слишком просто, поэтому Тимофей решил сортировать подстроки S, то есть он умеет делать следующую операцию:
-
выбрать два индекса l и r (1 ≤ l ≤ r ≤ N) и отсортировать подстроку Sl Sl+1 … Sr в порядке неубывания.
Чтобы хорошо потренироваться, Тимофей поставил себе цель. Он хочет, применив сортировку подстроки неограниченное количество раз (возможно, ноль), получить из строки S палиндром. Скажите, может ли Тимофей добиться своей цели?
Палиндромом называется строка, которая читается одинаково как слева направо, так и справа налево.
Исходные данные
Первая строка содержит единственное целое число N — длину строки S (1 ≤ N ≤ 105).
Вторая строка содержит строку S, состоящую только из символов 0 и 1.
Результат
Выведите «YES», если существует последовательность операций, превращающих строку S в палиндром, и «NO» в противном случае.
Примеры
| исходные данные | результат |
|---|
12
010110110100
| YES
|
1
1
| YES
|
2
10
| NO
|
Замечания
В первом примере можно получить строку 010011110010:
- сначала отсортировать l = 4, r = 6, получая 010011110100.
- затем l = 10, r = 11, получая 010011110010.
Автор задачи: Тимофей Имаев
Источник задачи: Квалификационный тур Уральского регионального чемпионата ICPC 2025