latin

Time limit: 1s Memory limit: 64MB Input: Output:

Cerință

Cu ocazia Anului Nou Celtic, care marchează de altfel și cel mai important sabat din calendarul vrăjitoarelor, Ionuț a decis să participe la Festivalul Mistic al Invocațiilor, un eveniment în care vrăjitoare de pe tot globul se adună pentru a-și etala cele mai puternice și interesante invocații. Fascinat de toată magia pe care o vedea în jurul lui, Ionuț a decis că vrea să încerce și el să facă o invocație −- totuși, neavând puteri magice, invocația lui Ionuț trebuie să respecte niște condiții stricte: ea trebuie să fie un string de lungime NN, format doar din primele KK litere mici ale alfabetului latin, iar mai mult de atât, numărul de subsecvențe palindromice ale invocației trebuie să fie minim.

O subsecvență a șirului AA este definită prin doi indici LL și RR (1≤L≤R≤N1 \leq L \leq R \leq N) și este formată din elementele contigue A[L],A[L+1],…,A[R]A[L], A[L+1], \dots, A[R]. O subsecvență este palindromică dacă se citește la fel de la stânga la dreapta și de la dreapta la stânga.

Date de intrare

Pe prima linie se găsesc numerele NN și KK.

Date de ieșire

Pe prima linie se găsește un string de lungime NN, format doar din primele KK litere mici ale alfabetului latin, care reprezintă invocația pe care Ionuț o va face.

Restricții și precizări

  • 1≤N≤100 0001 \leq N \leq 100 \ 000, 1≤K≤261 \leq K \leq 26
  • Pentru teste în valoare de 55 puncte, K=1K=1
  • Pentru teste în valoare de 1515 puncte, K=2K=2 și 1≤N≤161 \leq N \leq 16
  • Pentru teste în valoare de 2121 puncte, K=3K=3 și 1≤N≤101 \leq N \leq 10
  • Pentru teste în valoare de 2727 puncte, K≥4K \geq 4
  • Pentru teste în valoare de 3232 puncte, K=2K=2
  • Dacă există mai multe variante corecte de răspuns, se poate afișa oricare dintre ele.

Exemplul 1

stdin

3 2

stdout

aba

Explicație

Avem la dispoziție literele a și b (K=2K=2). Orice literă individuală este, prin definiție, un palindrom de lungime 11. Deci, pentru un șir de lungime N=3N=3, vom avea din start cel puțin 33 subsecvențe palindromice. Scopul este să minimizăm apariția palindroamelor de lungime mai mare.
În șirul aba, subsecvențele palindromice sunt: a (prima poziție), b, a (a treia poziție) și aba. În total 44 subsecvențe palindromice.
Orice alt șir am forma (de ex. aab are palindroamele a, a, b, aa), vom obține mereu cel puțin 44 subsecvențe palindromice. Astfel, aba atinge numărul minim posibil și este un răspuns corect (la fel cum ar fi fost și aab, bba sau bab).

Exemplul 2

stdin

6 4 

stdout

cdabdc

Explicație

Deoarece avem la dispoziție 44 litere (a,b,c,da, b, c, d), putem construi un șir în care nu există nicio subsecvență palindromică de lungime mai mare sau egală cu 22.
Astfel, singurele subsecvențe palindromice din cdabdc vor fi exact literele individuale: c, d, a, b, d, c.
Totalul este de 66 subsecvențe palindromice, care coincide cu lungimea șirului și este minimul absolut teoretic posibil pentru N=6N=6. Orice alt șir valid care obține acest număr minim (ex: abcdab) ar fi fost considerat corect.

Log in or sign up to be able to send submissions!