Задана квадратная матрица неизвестного размера. Получить сумму элементов, находящихся на половинах диагоналей, расположенных справа от центра
подскажите, пожалуйста, где ошибка, и помогите решить эту задачу
-module(matrix).
-export([sum_diag/1]).
sum_diag(Matrix) ->
N = length(Matrix) - 1,
FirstHalfSum = sum_first_half(Matrix, N, 0, N div 2),
SecondHalfSum = sum_second_half(Matrix, N, 0, N div 2 + 1),
{FirstHalfSum, SecondHalfSum, FirstHalfSum + SecondHalfSum}.
sum_first_half(_, -1, Acc, _) -> Acc;
sum_first_half(Matrix, I, Acc, HalfSize) when I >= HalfSize ->
Element = lists:nth(I+1, lists:nth(I+1, Matrix)),
sum_first_half(Matrix, I-1, Acc + Element, HalfSize);
sum_first_half(Matrix, I, Acc, HalfSize) ->
sum_first_half(Matrix, I-1, Acc, HalfSize).
sum_second_half(_, -1, Acc, _) -> Acc;
sum_second_half(Matrix, I, Acc, HalfSize) when I < HalfSize ->
Element = lists:nth(I+1, lists:nth(I+1, Matrix)),
sum_second_half(Matrix, I-1, Acc + Element, HalfSize);
sum_second_half(Matrix, I, Acc, HalfSize) ->
sum_second_half(Matrix, I-1, Acc, HalfSize).