Цікаві перепочинки
Обмеження: 2 сек., 256 МіБ
Нарешті Зеник і Марічка добралися в Карпати! Але це лише початок пригод. Далі розпочинається піша частина мандрівки.
Звісно, час від часу потрібно робити перепочинки, щоб відновити сили, випити смачного закарпатського вина та трішки розважитися. Як ви вже зрозуміли, Зеник та Марічка дуже люблять ігри. Цього разу вони знову вирішили зіграти в неймовірно цікаву (і дивну) гру. Зеник придумує список з \(n\) рядків, а Марічка має сказати чи можна змінити порядок символів у алфавіті так, щоб придуманий Зеником список був лексикографічно впорядкованим.
Вхідні дані
У першому рядку задано одне ціле число \(n\) — кількість рядків.
Наступні \(n\) рядків містять рядки зі списку Зеника.
Вихідні дані
У єдиному рядку виведіть Yes
, якщо існує потрібний
порядок символів в алфавіті. Інакше – виведіть No
.
Обмеження
\(1 \le n\le 10^{5}\),
\(1 \le \sum_{i=1} ^n |s_i| \le 10^5\),
усі рядки складаються з малих літер латинської абетки.
Приклади
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
3 ba ac ab | Yes |
Вхідні дані (stdin) | Вихідні дані (stdout) |
---|---|
3 ab ba ad | No |
Примітки
Список з \(n\) рядків називається лексикографічно впорядкованим, якщо \(s_i\) не є лексикографічно більшим за \(s_{i+1}\) для усіх \(i\) від 1 до \(n - 1\).
Рядок \(a\) називається лексикографічно більшим за рядок \(b\), якщо \(b\) є префіксом \(a\) або символ \(a_k\) знаходиться в алфавіті після символу \(b_k\), де \(k\) – найменший індекс такий що \(a_k \ne b_k\).
У першому прикладі підійде алфавіт з таким порядком символів:
cba
.
Надіслати розв'язок
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|
Element Type | Створено | Хто | Задача | Компілятор | Результат | Час (сек.) | Пам'ять (МіБ) | № | Дії |
---|