Se dau două şiruri si formate doar cu litere mici. Numim subşir de lungime al unui şir un şir , astfel încât să avem .
Cerință
Să se determine lungimea maximă a unui subşir din , format prin concatenarea unor anagrame ale şirului . Dintre toate subşirurile cu lungime maximă se va determina cel care este cel mai mic lexicografic.
Un şir de lungime se consideră mai mic lexicografic decât un şir de lungime dacă există un indice astfel încât , , , şi . Dacă lungimile celor două șiruri diferă, șirul cu lungimea mai mică se consideră minim lexicografic.
Un şir este anagrama unui şir dacă, sortându-le crescător pe fiecare, se obţin două şiruri identice.
Date de intrare
În fişierul anagrame.in
, pe prima linie se află un număr natural . Pe linia a doua se află şirul , iar pe a treia linie se află şirul .
Date de ieșire
În fişierul anagrame.out
, dacă , atunci pe prima linie se va scrie un număr natural reprezentând lungimea maximă a unui şir cu proprietatea cerută, iar dacă , atunci pe prima linie se va scrie subşirul de lungime maximă cu proprietatea cerută şi minim lexicografic.
Restricții și precizări
- , unde este lungimea șirului .
- Se garantează că cel puţin o anagramă a lui apare în .
Exemplul 1
anagrame.in
1
abbaaabababbaabaabba
aba
anagrame.out
15
Explicație
Deoarece litera a
apare de ori, poate să apară de cel mult ori.
Se observă subşirul format cu litere subliniate deci este un subşir de lungime maximă, egală cu , cu proprietatea cerută.
Exemplul 2
anagrame.in
2
abbaaabababbaabaabba
aba
anagrame.out
abaaabaabaabaab
Explicație
Se observă că subşirul verifică proprietatea cerută.