Олимпиадный тренинг

Задача . E. Две маленькие строки


Вам задано две строки \(s\) и \(t\) обе длины \(2\) и состоящие только из символов 'a', 'b' и 'c'.

Возможные примеры строк \(s\) и \(t\): «ab», «ca», «bb».

Вам необходимо найти строку \(res\), состоящую из \(3n\) символов, \(n\) символов должны быть равны 'a', \(n\) символов должны быть равны 'b' и \(n\) символов должны быть равны 'c', а также \(s\) и \(t\) не должны встречаться в \(res\) в качестве подстрок.

Подстрокой строки называется последовательная подпоследовательность этой строки. Таким образом, строки «ab», «ac» и «cc» являются подстроками строки «abacc», а строки «bc», «aa» и «cb» — не являются подстроками строки «abacc».

Если существует несколько возможных ответов, вы можете вывести любой.

Входные данные

Первая строка входных данных содержит одно целое число \(n\) (\(1 \le n \le 10^5\)) — количество символов 'a', 'b' и 'c' в результирующей строке.

Вторая строка входных данных содержит одну строку \(s\) длины \(2\), состоящую из символов 'a', 'b' и 'c'.

Третья строка входных данных содержит одну строку \(t\) длины \(2\), состоящую из символов 'a', 'b' и 'c'.

Выходные данные

Если невозможно найти подходящую строку, выведите «NO» в первой строке.

Иначе выведите «YES» в первой строке и строку \(res\) во второй строке. \(res\) должна состоять из \(3n\) символов, \(n\) символов должны быть равны 'a', \(n\) символов должны быть равны 'b' и \(n\) символов должны быть равны 'c', а также \(s\) и \(t\) не должны встречаться в \(res\) в качестве подстрок.

Если существует несколько возможных ответов, вы можете вывести любой.


Примеры
Входные данныеВыходные данные
1 2
ab
bc
YES
acbbac
2 3
aa
bc
YES
cacbacbab
3 1
cb
ac
YES
abc

time 2000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя