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

Коментарі

Ще немає коментарів.