Если вы считаете понятие пространства размытым, здесь приводится строгое математическое определение пространства для данной задачи.
Вы можете считать, что такое «сечение» в евклидовом пространстве $\mathbb R^k$ состоит из $k$-мерного вектора $\mathbf a \neq \mathbf 0$ и вещественного числа $\lambda$, обозначаемого как $(\mathbf a, \lambda)$. Множество точек на «сечении» — это $H_i = \left\{ \mathbf x \in \mathbb R^k \middle\vert \mathbf a \cdot \mathbf x = \lambda \right\}$, а эта пара создает разрез пространства на две части $(L_i, R_i)$, где $L_i = \left\{ \mathbf x \in \mathbb R^k \middle\vert \mathbf a \cdot \mathbf x < \lambda \right\}, R_i = \left\{ \mathbf x \in \mathbb R^k \middle\vert \mathbf a \cdot \mathbf x > \lambda \right\}$.
Тогда семейство «блоков», на которые разбивается все пространство, имеет вид:
$$\left\{ \bigcap_{i = 1}^n B_i \neq \emptyset \middle\vert B \in \{L_1, R_1\} \times \{L_2, R_2\} \times \cdots \times \{L_n, R_n\} \right\}$$
Прямую линию можно разрезать несколькими точками на два луча и несколько отрезков. Плоскость можно разделить несколькими прямыми на несколько областей. Трехмерное пространство можно разделить несколькими плоскостями на несколько частей...
Теперь помогите вычислить, на какое максимальное количество частей можно разделить $k$-мерное пространство с помощью $n$ «секущих» $(k-1)$-мерных гиперплоскостей.
Ответ выведите по модулю $P = 10^9 + 7$.
Входные данные
В одной строке записаны два целых положительных числа $k$ и $n$, обозначающие размерность пространства и количество «секущих» гиперплоскостей.
Выходные данные
Выведите ответ.
Примеры
Пример 1
Входные данные
2 3
Выходные данные
7
Пример 2
Входные данные
3 3
Выходные данные
8
Пример 3
Входные данные
123 321
Выходные данные
833554445
Пример 4
Входные данные
999800 1000000
Выходные данные
32983392
Подзадачи
Для $100\%$ данных гарантируется, что $k, n \le 10^6$.