Тестування шаффл-машин#1870

Тестування шаффл-машин

1 секунда
128 мегабайтів
Дуже легка

Сергій Михайлович має дуже цікаву роботу. Він тестує машини тасування — механізми, які використовуються для перемішування стопок карт.

Машини, які тестує Сергій Михайлович, здійснюють перестановки в стопці з карт, де — парне натуральне число. Принцип їхньої роботи полягає у застосуванні до початкової стопки заданої послідовності перетворень, кожне з яких є одного з двох типів: U або D.

U-перетворення виконується так. Спочатку початкову стопку з карт ділять на дві частини: перша частина складається з верхніх карт, а друга — з нижніх карт. Потім нову стопку формують, почергово викладаючи по одній карті з кожної частини, починаючи з першої частини. D-перетворення відрізняється тим, що на другому кроці нову стопку починають формувати з другої частини, а не з першої.

Якщо пронумерувати карти зверху вниз як 1, 2, \ldots, n, то після U-перетворення карти у стопці розміщуватимуться зверху донизу у такому порядку: 1, n/2+1, 2, n/2+2, \ldots, n/2, n. Після D-перетворення порядок буде таким: n/2+1, 1, n/2+2, 2, \ldots, n, n/2.

Сергій Михайлович тестує машини так. Він бере карт, пронумерованих від до , розташовує їх у стопці зі зростанням номерів від верху до низу, поміщає стопку до машини й виконує перемішування. Потім Сергій Михайлович бере -ту карту зверху в отриманій стопці і, залежно від її номера, приймає рішення щодо працездатності машини.

Щоб пришвидшити тестування, Сергію Михайловичу потрібна програма, що обчислює номер -тої карти зверху в результаті перемішування, якщо машина працює справно.

Вхідні дані

Перший рядок містить два цілих числа та (1 \leq k \leq n \leq 2 \cdot 10^9, — парне). Другий рядок містить послідовність від 1 до 1000 символів 'U' і 'D' без пробілів. Ці символи описують послідовність перетворень, які машина застосовує для перемішування карт. Символ 'U' відповідає U-перетворенню; 'D' — D-перетворенню.

Вихідні дані

Виведіть одне ціле число — номер -тої карти зверху в отриманій стопці, починаючи з одиниці.

Приклади

Приклад 1

Loading
Loading