import random # matrixsortp.py
n=3; m=5; a=[1,1]; b=[1,1]; с=[1]; d=[1];
a=[[random.randrange(0,9) for i in range (m)] for j in range (n)]
b=[[1 for i in range (m)] for j in range (n)]
c=[1 for i in range (m)]
for i in range (n):
for j in range (m):
print ("%2d" % a[i][j], end=' ')
b[i][j]=a[i][j]
print()
print()
for i in range (n):
for j in range (m):
c[j]=a[i][j]
c.sort(reverse=True)
for j in range (m):
a[i][j]=c[j]
for i in range (n):
for j in range (m):
print ("%2d" % a[i][j], end=' ')
print()
print()
for i in range (n):
for j in range (m):
print ("%2d" % b[i][j], end=' ')
print()
print()
for j in range(m):
stolb = sorted([b[i][j] for i in range(n)])
for i in range(n):
b[i][j] = stolb[n-i-1]
for i in range (n):
for j in range (m):
print ("%2d" % b[i][j], end=' ')
print()
aW1wb3J0IHJhbmRvbSAjIG1hdHJpeHNvcnRwLnB5Cm49MzsgbT01OyBhPVsxLDFdOyBiPVsxLDFdOyDRgT1bMV07IGQ9WzFdOyAKYT1bW3JhbmRvbS5yYW5kcmFuZ2UoMCw5KSBmb3IgaSBpbiByYW5nZSAobSldIGZvciBqIGluIHJhbmdlIChuKV0KYj1bWzEgZm9yIGkgaW4gcmFuZ2UgKG0pXSBmb3IgaiBpbiByYW5nZSAobildCmM9WzEgZm9yIGkgaW4gcmFuZ2UgKG0pXQoKZm9yIGkgaW4gcmFuZ2UgKG4pOgogICAgZm9yIGogaW4gcmFuZ2UgKG0pOgogICAgICAgIHByaW50ICgiJTJkIiAlIGFbaV1bal0sIGVuZD0nICcpCiAgICAgICAgYltpXVtqXT1hW2ldW2pdCiAgICBwcmludCgpCnByaW50KCkKCmZvciBpIGluIHJhbmdlIChuKToKICAgIGZvciBqIGluIHJhbmdlIChtKToKICAgICAgICBjW2pdPWFbaV1bal0KICAgIGMuc29ydChyZXZlcnNlPVRydWUpCiAgICBmb3IgaiBpbiByYW5nZSAobSk6CiAgICAgICAgYVtpXVtqXT1jW2pdCgpmb3IgaSBpbiByYW5nZSAobik6CiAgICBmb3IgaiBpbiByYW5nZSAobSk6CiAgICAgICAgcHJpbnQgKCIlMmQiICUgYVtpXVtqXSwgZW5kPScgJykKICAgIHByaW50KCkKcHJpbnQoKQoKZm9yIGkgaW4gcmFuZ2UgKG4pOgogICAgZm9yIGogaW4gcmFuZ2UgKG0pOgogICAgICAgIHByaW50ICgiJTJkIiAlIGJbaV1bal0sIGVuZD0nICcpCiAgICBwcmludCgpCnByaW50KCkKCmZvciBqIGluIHJhbmdlKG0pOgogICAgc3RvbGIgPSBzb3J0ZWQoW2JbaV1bal0gZm9yIGkgaW4gcmFuZ2UobildKQogICAgZm9yIGkgaW4gcmFuZ2Uobik6CiAgICAgICAgYltpXVtqXSA9IHN0b2xiW24taS0xXQoKZm9yIGkgaW4gcmFuZ2UgKG4pOgogICAgZm9yIGogaW4gcmFuZ2UgKG0pOgogICAgICAgIHByaW50ICgiJTJkIiAlIGJbaV1bal0sIGVuZD0nICcpCiAgICBwcmludCgpCg==