L. Ханойские башни и прогресс
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Андрей очень не любит Ханой за его консервативность — уже сотни лет самыми высокими зданиями там считаются три древние башни, между которыми каждый год переносят гигантские кольца по одному и тому же алгоритму (см. замечание). Каждый год Андрея мучает осознание того, что гигантские деньги тратятся на какое-то непонятное развлечение — ещё бы, двигают эти кольца с помощью кучи подъемных кранов, перекрывая центр города на несколько дней! Но прогресс не стоит на месте, и уже в следующем году в Ханое будут построены дополнительно k башен поменьше, на каждой из которых можно будет поместить не более одного кольца одновременно. Когда Андрей прочитал об этом, его тут же заинтересовало, какое минимальное количество действий переноса для n колец потребуется после этого нововведения. Сам он не хочет тратить ни секунды времени на этот ненавистный ему город, поэтому просит вас помочь произвести этот несложный подсчёт.

Входные данные

В единственной строке содержатся два целых числа через пробел: n и k (1 ≤ n ≤ 109, 0 ≤ k ≤ 109) — количество колец и количество дополнительных башен соответственно (общее количество башен будет равно k + 3).

Выходные данные

Выведите минимальное количество действий, необходимое для перемещения всех колец с первой башни на третью. Так как количество действий может быть слишком велико, выведите остаток от деления этого числа на 109 + 7.

Примеры
Входные данные
3 0
Выходные данные
7
Входные данные
3 1
Выходные данные
5
Входные данные
42 0
Выходные данные
46480317
Входные данные
1000 0
Выходные данные
688423209
Примечание

«Ханойские башни» — головоломка, в которой даны три стержня («башни»); на один из стержней («стартовый») нанизано некоторое количество колец, причем все кольца разного размера и лежат меньшее на большем. Задача состоит в том, чтобы перенести пирамиду из колец за наименьшее число ходов на другой («конечный») стержень. За один раз разрешается переносить на один из стержней только одно верхнее кольцо, причём нельзя класть большее кольцо на меньшее.