Имеется r красных и g зеленых кубиков для строительства красно-зеленой башни. Красно-зеленую башню можно построить по следующим правилам:
- Красно-зеленая башня должна состоять из некоторого количества уровней;
- Пусть красно-зеленая башня состоит из n уровней, тогда первый уровень этой башни должен состоять из n кубиков, второй уровень — из n - 1 кубиков, третий — из n - 2 кубиков, и так далее — последний уровень такой башни должен состоять из одного кубика. Другими словами, каждый последующий уровень должен содержать на один кубик меньше, чем предыдущий;
- Каждый уровень красно-зеленой башни может состоять только из кубиков одного цвета.
Пусть h — наибольшее возможное количество уровней у красно-зеленой башни, построенной по описанным выше правилам из r красных и g зеленых кубиков. Требуется определить сколько различных красно-зеленых башен, состоящих из h уровней, можно построить из имеющихся кубиков.
Две красно-зеленых башни считаются различными, если существует уровень, который в первой башне состоит из кубиков красного цвета, а во второй — из кубиков зеленого цвета.
Ваша задача — написать программу, которая по заданным значениям r и g найдет искомое количество различных красно-зеленых башен высоты h по модулю 109 + 7.
Выходные данные
Выведите единственное целое число — искомое количество различных красно-зеленых башен высоты h по модулю 109 + 7.
Примечание
На приведенном в условии изображении показаны все возможные красно-зеленые башни для первого примера из условия.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
4 6
|
2
|
|
2
|
9 7
|
6
|
|
3
|
1 1
|
2
|