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==