Є прямокутна таця, яка складається з рядків та стовпців клітинок. Під час реалізації мовою C++ додайте директиву #define lll long long та використовуйте lll для 64-бітних цілих чисел. Під час реалізації мовою Python додайте на початку програми рядок lll = int та перетворюйте на число кожне прочитане значення викликом lll(...). Спочатку в кожній клітинці є рівно одна крапля води.
На всі краплі можна одночасно застосовувати такі команди:
L — пересунути кожну краплю на одну клітинку ліворуч;
R — пересунути кожну краплю на одну клітинку праворуч;
U — пересунути кожну краплю на одну клітинку вгору;
D — пересунути кожну краплю на одну клітинку вниз.
Якщо крапля мала б вийти за межі таці, вона залишається на місці. Якщо після виконання команди кілька крапель опиняються в одній клітинці, вони зливаються в одну краплю. Надалі вона рухається за тими самими правилами й не може розділитися.
Вам дано рядок довжини , що складається з команд. Ви можете вибрати будь-який непорожній послідовний фрагмент цього рядка з позиції до позиції включно (1 \le l \le r \le m) і виконати лише команди з цього фрагмента в заданому порядку. Перед виконанням вибраного фрагмента в кожній клітинці таці є рівно одна крапля.
Знайдіть найменшу довжину фрагмента, після виконання якого всі краплі опиняться в одній клітинці. Якщо такого фрагмента не існує, виведіть .
Приклад для h = 2, w = 3 та s = \texttt{LRRU}
Перший рядок містить три цілі числа , та (2 \le h, w \le 10^9, 1 \le m \le 2 \cdot 10^5) — кількість рядків, кількість стовпців та кількість команд відповідно.
Другий рядок містить рядок довжини , який складається лише із символів L, R, U та D.
Виведіть одне ціле число — мінімальну довжину фрагмента, після виконання якого всі краплі зберуться в одній клітинці, або , якщо такого фрагмента не існує.
Приклад 1
Приклад 2
Приклад 3
Перший приклад зображено на малюнку вище. Можна вибрати фрагмент RRU (позиції від до ). Після виконання двох команд R усі краплі опиняться в правому стовпці, а після команди U — у верхній правій клітинці. Меншої кількості команд недостатньо.
У другому прикладі жодна команда не пересуває краплі між рядками, тому зібрати всі краплі в одній клітинці неможливо.
У третьому прикладі можна вибрати фрагмент URU (позиції від до ). Після виконання цих команд усі краплі опиняться у верхній правій клітинці. Меншої кількості команд недостатньо.