ЗАДАЧА 104: Назовем весом столбца матрицы число, равное сумме только положительных разностей a[i+1][j] - a[i][j] соседних элементов этого столбца (т.е. возрастающих переходов от i к i+1 для i=0,...,N-2). Если таких разностей нет, то вес столюца положим равным нулю. Требуется переставить столбцы матрицы так, чтобы они стояли по своих убыванию (невозрастанию) весов. После этого надо вычислить произведение полученной матрицы A на ее транспонированную первую строку b, т.е. получить вектор c=Ab. Полученные матрицу и вектор вывести в файл output.txt. Матрица вещественных чисел задается в файле input.txt. В этом файле сначала записаны два целых числа N --- число строк и M --- число столбцов матрицы, а далее сама матрица по строкам (строка матрицы в строке файла). Ответ к задаче надо вывести в такой же форме в файл output.txt, т.е. сначала размерности матрицы, а потом по строкам саму переупорядоченную матрицу. После этого надо вывести пустую строку и далее вектор, являющийся требуемым произведением матрицы на вектор. Если при вводе данных будут обнаружены некорректные ситуации (файлы не открылись, они пустые, есть ошибки чтения, некорректные размерности, недостаточное количество элементов матрицы и т.п.), то считается, что задачу решить нельзя, и функция main должна завершиться с возвращаемым значением -1. Если задача решена корректно, то функция main должна возвратить значение 0. При решении задачи память для хранения матрицы выделяется динамически и только для этой матрицы и вектора --- результата произведения матрицы на вектор-строку. Выделять динамически или статически другие дополнительные массивы для промежуточных вычислений не разрешается. По окончании реботы вся выделенная память должна быть освобождена (memory leak не допускается).