11926. Два рядки
Відправити розв'язок
Бали:
100
Time limit:
2.0s
Memory limit:
500M
Author:
Problem type
Allowed languages
C++, Java, Pascal, Python
Вам надано рядки \(S\) і \(T\) довжиною \(N\) кожен, які складаються з малих літер англійської мови.
Для рядка \(X\) і цілого числа \(i\) нехай \(f(X,i)\) буде рядком, отриманим виконанням над \(X\) наступної операції \(i\) разів:
- Видаліть перший символ \(X\) і додайте той самий символ до кінця \(X\).
Знайти кількість пар цілих чисел (\(i,j\)), які задовольняють \(0 \le i,j \le N-1\), щоб \(f(S,i)\) лексикографічно менше або дорівнює \(f(T,j)\).
Обмеження
- \(1 \le N \le 2 \times 10^5\)
- \(S\) і \(T\) — рядки довжиною \(N\) кожен, які складаються з малих літер англійської мови.
- \(N\) — ціле число.
Формат вхідних даних
Перший рядок містить ціле число \(N\)
Другий рядок містить \(S\)
Третій рядок містить \(T\)
Формат вихідних даних
У вихідний потік виведіть відповідь.
Приклад вхідних даних
3
adb
cab
Приклад вихідних даних
4
Приклад вхідних даних
10
wsiuhwijsl
pwqoketvun
Приклад вихідних даних
56
Коментарі