Олимпиадный тренинг

Задача . B. Случайные команды


Для участия в соревнованиях n участников были разбиты некоторым образом на m команд так, чтобы в каждой команде был хотя бы один участник. После соревнований каждая пара участников из одной команды стала друзьями.

Ваша задача — написать программу, которая определит, какое минимальное и какое максимальное количество пар друзей могло образоваться после соревнования.

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

В единственная строке содержатся два целых числа n и m, разделенных одним пробелом (1 ≤ m ≤ n ≤ 109) — количество участников и количество команд соответственно.

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

Требуется вывести два целых числа kmin и kmax — минимальное возможное количество пар друзей и максимальное возможное количество пар друзей соответственно.

Примечание

В первом примере все участники попадают в одну команду, поэтому в любом случае будет образовано ровно десять пар друзей.

Во втором примере при любом разбиении в одной из команд будет два участника, а в другой — один. В таком случае количество пар друзей всегда будет равно одному.

В третьем примере минимальное количество друзей выходит при разбиении на команды по 2 человека, а максимальное — при разбиении на команды размерами 1, 1 и 4 человек.


Примеры
Входные данныеВыходные данные
1 5 1
10 10
2 3 2
1 1
3 6 3
3 6

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя