Počet bodov:
Popis:  12b
Program:  8b

V reakcii na vedeckú štúdiu publikovanú v časopise sa profesor Labka rozhodol, že všetkým raz a navždy dokáže svoju dlhoročnú teóriu o možnostiach komunikácie medzi ľuďmi a mačkami.

Jeho teória je vskutku priamočiara – mačky hovoria tie isté slová, čo my (pretože sa ich všetky učia od svojich ľudských majiteľov), akurát nepoznajú naše hlásky, takže používajú iné, svoje. Takže vraj stačí zistiť, ktoré ľudské hlásky sa prekladajú na ktoré mačacie a naopak, a môžeme plne chápať mačaciu reč…

Vy samozrejme viete, že mačky podstatné informácie komunikujú výhradne telepaticky, takže jeho tvrdeniam neveríte.

Vašim cieľom je preto jeho hypotézu vyvrátiť, no musíte to spraviť veľmi opatrne, aby sa na vás akademická obec nepozerala cez labkyprsty (nájsť si takú metriku, ktorá by jeho tvrdeniam nedala šancu, by totiž nebolo dostatočne vedecké). Keďže profesor Labka pripúšťa rozdielny slovosled ľudskej a mačacej reči, musíte počítať aj s možnosťou, že preložiť sa občas dajú iba časti viet, nie vety celé. Samozrejme, ak takých častí bude príliš málo, alebo budú veľmi krátke, je jasné, že ide o štatisticky zanedbateľnú náhodu a jeho teória je úplný nezmysel.

Úloha

Dostanete dva reťazce dĺžky \(n\) zložené z písmen anglickej abecedy – vetu \(L\) povedanú človekom (veľkými písmenami) a vetu \(M\) (malými písmenami), o ktorej profesor Labka tvrdí, že je jej mačacím ekvivalentom.

Vašim cieľom je nájsť všetky preložiteľné intervaly – teda dvojice \(1 \leq i \leq j \leq n\) začiatku a konca podreťazcov – také, že podreťazec \(L[i, j]\) v ľudskom reťazci sa dá preložiť na podreťazec \(M[i, j]\) v mačacom reťazci.

Podreťazec sa dá preložiť práve vtedy, keď existuje nesporné kódovanie písmen z ľudského reťazca do mačacieho a naopak – teda keď platí: pokiaľ sú v jednom z podreťazcov dve rovnaké písmená, budú rovnaké aj písmená na zodpovedajúcich pozíciach v druhom podreťazci.

Keďže dlhšie podreťazce prinášajú viac dôkazov o (ne)správnosti hypotézy, považujeme ich za dôležitejší dôkazový materiál – pre každý preložiteľný interval teda zistite jeho dĺžku a odpovedzte ich celkový súčet.

Formát vstupu

V prvom riadku vstupu je číslo \(n\) (\(1 \leq n \leq 10^6\)) – dĺžka oboch reťazcov.

Na ďalších dvoch riadkoch sú reťazce \(L\) a \(M\), vždy v tomto poradí.

V jednotlivých sadách platia nasledovné obmedzenia:

Sada 1 2 3 4
\(1 \leq n \leq\) \(100\) \(2\,000\) \(100\,000\) \(10^6\)

Formát výstupu

Vypíšte jeden riadok a v ňom jedno celé číslo – súčet dĺžok všetkých preložiteľných intervalov pre danú dvojicu reťazcov \(L\) a \(M\).

Príklady

Input:

3
AAB
baa

Output:

3

Preložiteľné sú len intervaly [1-1], [2-2], [3-3], keďže v intervaloch [1-2] a [2-3] kolidujú postupne preklady písmen A a a.

Input:

6
AHOJKY
mnauky

Output:

56

Žiadny z podreťazcov (ktorých je dokopy 21) nie je nepreložiteľný (nie je to prekvapivé, keďže v žiadnom z nich sa neopakujú písmená). Máme teda 1 interval dĺžky 6, 2 intervaly dĺžky 5… až po 6 intervalov dĺžky 1.

Input:

8
AHOJACAU
mnaumnau

Output:

54

Odovzdávanie

Na odovzdávanie sa musíš prihlásiť

Otázky a diskusia

Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.