Трійки
Very hard
Execution time limit is 2 seconds
Runtime memory usage limit is 256 megabytes
Дано поле . Рядки нумерують зверху вниз від до . Стовпці нумеруються зліва направо з до . Деякі клітинки білі, а всі інші — чорні.
Введемо масив довжиною , а також масиви та довжиною , вони будуються наступним чином:
() — мінімальне таке, що клітинка чорна, або , якщо такої немає;
() — мінімальне таке, що клітинка чорна, або , якщо такої немає;
() — максимальне таке, що клітинка чорна, або , якщо такої немає.
Скільки трійок різних масивів може бути? Знайдіть відповідь за модулем .
Input
Перший рядок містить два цілі числа та (, ).
Output
Виведіть відповідь за модулем .
Examples
Input #1
Answer #1
Input #2
Answer #2
Input #3
Answer #3
Input #4
Answer #4
Submissions 2