Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Słowo rozróżniające
(slowo-rozrozniajace)
Memory limit: 128 MB
Time limit: 2.00 s

Dane są dwa słowa. Celem zadania jest rozróżnić te dwa słowa. Jak? Poprzez podanie ciągu, który jest podciągiem dokładnie jednego z podanych słów. Dla przypomnienia: podciąg dowolnego słowa możemy uzyskać poprzez wybranie niektórych jego liter (niekoniecznie spójnego przedziału) w kolejności takiej jak występują w tym słowie. Na przykład: abaab jest podciągiem słowa: b**a**a**ba**b**ab**, natomiast nie jest podciągiem słowa baababba.

Napisz program, który: wczyta dwa słowa, wyznaczy najmniejsze leksykograficznie najkrótsze słowo je rozróżniające i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym oraz drugim wierszu standardowego wejścia znajdują się dwa niepuste ciągi znaków alfabetu angielskiego – słowa, o których mowa powyżej.

Wyjście

W pierwszym (i jedynym) wierszu wyjścia powinien się znaleźć najkrótszy możliwy ciąg znaków, który jest podciągiem jednego ze słów na wejściu, a drugiego nie jest. Spośród wszystkich takich najkrótszych ciągów należy wypisać ten, który jest najmniejszy leksykograficznie.

Jeśli słowo rozróżniające nie istnieje: należy wypisać jedno słowo NIE.

Ograniczenia

Długości obu słów nie przekraczają 1 000 znaków.

Przykład

Input Output
abaab
babab
aaa