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

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Antypalindromiczność
(antypalindrom)
Limit pamięci: 32 MB
Limit czasu: 0.50 s

Jasio obchodzi dzisiaj dzień chłopaka. Tak, wiem, że dzisiaj nie ma dnia chłopaka, ale to jest Jasio, a on jest trochę dziwny i lubi wymyślać. Na przykład wymyślił też, że chce od Ciebie na prezent napis złożony z małych liter alfabetu angielskiego. Niby niewiele, ale wczoraj wymyślił sobie (i dzisiaj jeszcze nie zapomniał), że bardzo nie lubi palindromów, czyli słów, które czytane od lewej do prawej brzmią tak samo jak czytane od prawej do lewej.

Czyli co? Wystarczy dać mu słowo, które nie jest palindromem? Niestety, to byłoby zbyt proste. Jasio ma życzenie, żeby słowo miało N znaków, składało się z jak najmniejszej liczby różnych liter oraz nie może w sobie zawierać (jako spójny fragment) żadnego palindromu długości co najmniej 2. Przykładowo, jeżeli N = 8, to słowo turnieje odpada, bo zawiera w sobie palindromiczny fragment eje. Odpada również dlatego, bo zawiera zbyt wiele różnych liter (istnieją słowa spełniające warunki zadania składające się z mniejszej liczby różnych liter).

Przygotuj dla Jasia prezent i napisz program, który wygeneruje mu napis długości N, składający się z jak najmniejszej liczby różnych liter i nie zawierający żadnego palindromu długości 2 lub więcej jako spójny fragment.

Wejście

W pierwszym (jedynym) wierszu wejścia znajduje się jedna liczba naturalna N, określająca oczekiwaną długość napisu.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinien się znaleźć ciąg małych liter alfabetu angielskiego – wygenerowany napis dla Jasia.

Jeżeli istnieje wiele możliwych rozwiązań, Twój program może wypisać dowolne z nich.

Ograniczenia

1 ≤ N ≤ 500 000.

Przykład

Wejście Wyjście
5
abcab