Допустим, у вас есть n кабелей с известными длинами, и вы хотите соединить их все в один большой кабель. Если вы соединяете два кабеля длиной x и y, то за это нужно заплатить x + y. После их объединения новый кабель будет иметь длину x + y.
Задача: найти такую стратегию соединения, чтобы итоговые расходы — сумма всех плат за соединение — были как можно меньше.
Входные данные
Первая строка содержит одно целое число n (1 ≤ n ≤ ) — количество кабелей.
Следующая строка содержит разделённые пробелами целые числа (1 ≤ ≤ ), обозначающие длины кабелей.
Выходные данные
Программа должна вывести минимальную сумму, которую вы потратите, чтобы соединить все кабели.