Вертикальний обмін#13058

Вертикальний обмін

1 секунда
256 мегабайтів
Середня

Дано два бінарні рядки та однакової довжини .

Ви можете виконувати наступну операцію довільну кількість разів:

Визначте, чи можна після деякої кількості операцій зробити обидва рядки неспадними.

Бінарний рядок називається неспадним, якщо в ньому немає символу 1, який стоїть перед символом 0. Іншими словами, усі символи 0 у такому рядку розташовані перед усіма символами 1.

Вхідні дані

У першому рядку задано ціле число (1 \le n \le 2 \cdot 10^5) — довжина рядків.

У другому рядку задано бінарний рядок довжини .

У третьому рядку задано бінарний рядок довжини .

Вихідні дані

Виведіть YES, якщо можна зробити обидва рядки неспадними.

Інакше виведіть NO.

Приклади

Приклад 1

Loading
Loading

Приклад 2

Loading
Loading

Примітка

У першому прикладі достатньо поміняти місцями символи a_2 та b_2. Після цього рядки матимуть вигляд

00011

та

01111,

і обидва вони є неспадними.

У другому прикладі в першій позиції в обох рядках стоїть 1, а в другій — 0. Операції не можуть змінити ці пари символів, тому в обох рядках 1 залишатиметься перед 0. Отже, зробити обидва рядки неспадними неможливо.

Оцінювання

  1. Підзадача ( балів): n \le 1000.

  2. Підзадача ( балів): Без додаткових обмежень.