Помогите написать программу на python
Платные музыкальные сервисы предлагают самый разный контент за любые деньги, но работают по одному и тому же принципу: за первый месяц подписки клиент платит 𝑎 рублей, далее за каждый следующий месяц подписки — ещё 𝑑 рублей. Таким образом, за 𝑛 месяцев клиент заплатит 𝑎+(𝑛−1)⋅𝑑 рублей. Известно, что для любых натуральных 𝑎 и 𝑑 существует ровно один сервис, который предлагает свои услуги именно на таких условиях.
У Тимофея есть 𝑚 рублей, и ему требуется подключить ровно один сервис. Он хочет выяснить, на скольких из них он может получать за эти деньги доступ к музыке в течение 𝑛 месяцев. Если денег хватит на количество месяцев, превышающее 𝑛, Тимофея такой сервис тоже устроит.
Формат входных данных
На вход подаются два натуральных числа 𝑛 (2≤𝑛≤106) и 𝑚 (1≤𝑚≤106), каждое в своей строке.
Обратите внимание, что при заданных ограничениях для хранения ответа может понадобиться 64‑битный тип данных, например, long long в C++, int64 в Pascal, long в Java.
Формат выходных данных
Выведите одно неотрицательное целое число — количество различных сервисов, на которых Тимофей может 𝑛 месяцев получать доступ к музыке, заплатив при этом не более 𝑚 рублей.
Замечание
В примере из условия у Тимофея есть 7 рублей, и он хочет слушать музыку 3 месяца. Тогда ему подойдут следующие сервисы:
𝑎=1, 𝑑=1 (он заплатит в сумме 1+2·1=3 рубля);
𝑎=2, 𝑑=1 (он заплатит в сумме 2+2·1=4 рубля);
𝑎=3, 𝑑=1 (он заплатит в сумме 3+2·1=5 рублей);
𝑎=4, 𝑑=1 (он заплатит в сумме 4+2·1=6 рублей);
𝑎=5, 𝑑=1 (он заплатит в сумме 5+2·1=7 рублей);
𝑎=1, 𝑑=2 (он заплатит в сумме 1+2·2=5 рублей);
𝑎=2, 𝑑=2 (он заплатит в сумме 2+2·2=6 рублей);
𝑎=3, 𝑑=2 (он заплатит в сумме 3+2·2=7 рублей);
𝑎=1, 𝑑=3 (он заплатит в сумме 1+2·3=7 рублей).
Таким образом, для данного примера у Тимофея есть возможность выбора из 9 музыкальных сервисов.
n = int(input())
m = int(input())
ans = (2 * (m - n + 1) - (n + m // (m + n) - 1) * (((m - 1) * ((n + 1) // n) // (n - 1)) - 1)) * ((m - 1) // (n - 1)) // 2
print(ans)