Сьогодні відбудеться один з відбіркових контестів на IOI. Зал для контесту представлений у вигляді рядка з комп'ютерів. Кожен комп'ютер пронумерований цілими числами від до зліва направо. У контесті братимуть участь учасників, пронумерованих цілими числами від до .
Маємо масив довжини , де a_i\:(1 \le a_i \le n) вказує на комп'ютер, біля якого -й учасник хоче сісти.
Також є масив довжини , що складається з символів і . Символ b_i вказує на сторону, з якої -й учасник заходить у зал. Символ означає, що учасник заходить у зал лівіше -го комп'ютера і рухається зліва направо, а символ означає, що учасник заходить у зал правіше -го комп'ютера і рухається справа наліво.
Учасники заходять у зал по черзі, від до . Кожен -й учасник заходить зі сторони b_i і прямує до комп'ютера a_i. Якщо цей комп'ютер вже зайнятий, учасник продовжує рух у тому ж напрямку до першого вільного комп'ютера. Після цього він сідає за цей комп'ютер. Якщо жоден комп'ютер не виявиться вільним, учасник засмучується і покидає змагання.
Засмученість -го учасника визначається як відстань між його бажаним комп'ютером (a_i) і комп'ютером, за який він врешті сів. Відстань між комп'ютерами і дорівнює |i - j|.
Числа в масиві можуть повторюватися. Існує n^m \cdot 2^m можливих пар масивів .
Розглянемо всі пари масивів , для яких жоден учасник не засмутиться. Для кожної з таких пар обчисліть суму засмученостей усіх учасників. Знайдіть суму цих чисел. Відповідь потрібно подати по модулю 10^9 + 9.
В єдиному рядку задано два цілі числа n, m~(1 \le m \le n \le 2000).
Виведіть одне ціле число — необхідну суму по модулю 10^9 + 9.
Приклад 1
Приклад 2
Приклад 3
Приклад 4