#This is my PYTHON program
import math;
import random;
n=m=5;
masB=[];
maindiag=[];
i=j=int();
diff=int();
f=int();
t=int();
min=int();
for i in range(0,n,1):
masB.append([]);
for j in range(0,m,1):
masB[i].append(0);
masB[i][j]=random.randint(-50,50);
print(f"\nMatrix {n}*{m} masB=:");
for i in range(0,n,1):
for j in range(0,m,1):
print(f"{masB[i][j]:3}",end="|");
print();
f=0;
for i in range(0,n-1,1):
diff=0;
diff=math.fabs(masB[i][i]-masB[i+1][i+1]);
maindiag.append(diff);
maindiag[f]=diff;
f=f+1;
print(f"\nAbsolute differences between adjacent elements on the main diagonal: {maindiag}")
for i in range(0,f-1,1):
for j in range(0,f-1,1):
if maindiag[j]<maindiag[j+1]:
t=maindiag[j+1];
maindiag[j+1]=maindiag[j];
maindiag[j]=t;
print(f"\nResult maindiag (sorted):")
for i in range(0, f, 1):
print(f"{maindiag[i]:3}", end=" | ");
min=maindiag[0];
for i in range(1,f,1):
if maindiag[i]<min:
min=maindiag[i];
print(f"\nmin={min:4}");
I1RoaXMgaXMgbXkgUFlUSE9OIHByb2dyYW0KaW1wb3J0IG1hdGg7CmltcG9ydCByYW5kb207Cm49bT01OwptYXNCPVtdOwptYWluZGlhZz1bXTsKaT1qPWludCgpOwpkaWZmPWludCgpOwpmPWludCgpOwp0PWludCgpOwptaW49aW50KCk7CmZvciBpIGluIHJhbmdlKDAsbiwxKToKICAgIG1hc0IuYXBwZW5kKFtdKTsKICAgIGZvciBqIGluIHJhbmdlKDAsbSwxKToKICAgICAgICBtYXNCW2ldLmFwcGVuZCgwKTsKICAgICAgICBtYXNCW2ldW2pdPXJhbmRvbS5yYW5kaW50KC01MCw1MCk7CnByaW50KGYiXG5NYXRyaXgge259KnttfSBtYXNCPToiKTsKZm9yIGkgaW4gcmFuZ2UoMCxuLDEpOgogICAgZm9yIGogaW4gcmFuZ2UoMCxtLDEpOgogICAgICAgIHByaW50KGYie21hc0JbaV1bal06M30iLGVuZD0ifCIpOwogICAgcHJpbnQoKTsKZj0wOwpmb3IgaSBpbiByYW5nZSgwLG4tMSwxKToKICAgIGRpZmY9MDsKICAgIGRpZmY9bWF0aC5mYWJzKG1hc0JbaV1baV0tbWFzQltpKzFdW2krMV0pOwogICAgbWFpbmRpYWcuYXBwZW5kKGRpZmYpOwogICAgbWFpbmRpYWdbZl09ZGlmZjsKICAgIGY9ZisxOwpwcmludChmIlxuQWJzb2x1dGUgZGlmZmVyZW5jZXMgYmV0d2VlbiBhZGphY2VudCBlbGVtZW50cyBvbiB0aGUgbWFpbiBkaWFnb25hbDoge21haW5kaWFnfSIpCmZvciBpIGluIHJhbmdlKDAsZi0xLDEpOgogICAgZm9yIGogaW4gcmFuZ2UoMCxmLTEsMSk6CiAgICAgICAgaWYgbWFpbmRpYWdbal08bWFpbmRpYWdbaisxXToKICAgICAgICAgICAgdD1tYWluZGlhZ1tqKzFdOwogICAgICAgICAgICBtYWluZGlhZ1tqKzFdPW1haW5kaWFnW2pdOwogICAgICAgICAgICBtYWluZGlhZ1tqXT10OwpwcmludChmIlxuUmVzdWx0IG1haW5kaWFnIChzb3J0ZWQpOiIpCmZvciBpIGluIHJhbmdlKDAsIGYsIDEpOgogICAgcHJpbnQoZiJ7bWFpbmRpYWdbaV06M30iLCBlbmQ9IiB8ICIpOwptaW49bWFpbmRpYWdbMF07CmZvciBpIGluIHJhbmdlKDEsZiwxKToKICAgIGlmIG1haW5kaWFnW2ldPG1pbjoKICAgICAgICBtaW49bWFpbmRpYWdbaV07CnByaW50KGYiXG5taW49e21pbjo0fSIpOyAgICAgICA=