start = 0
stop = 'end'
joblist = []
#старт что бы запускать туда значения для сравнения с значением стоп которое является контрольным значением для остановки цикла ввода данных.
#рабочий список собственно для загрузки туда верных значений для дальнейшей обработки
while start != stop: # запускаю цикл ввода данных
    start = input() # ввожу данные
    if start != stop: # сравниваю с стоп значением, если стоп значения не ту то иду дальше если было останавливаю цикл
        startlist = [int(i) for i in start.split()] # загружаю данные из стартового ввода и перевожу их в числа
        joblist.append(startlist[:]) # перегружаю данные в список для хранения пока не соберу все данные
        startlist = [] # обнуляю список загрузки что бы данные не двоились
m = len(joblist) - 1 # определяю количество строк и вычитаю единицу для работы последующего цикла
n = len(joblist[0]) - 1 #определяю количество элементов в строке(только первой строке ибо верно для всей матрицы) и аналогично убираю единицу
for i in range(len(joblist)): # запускаю цикл который перебирает строки
    for j in range(len(joblist[i])): # запускаю цикл который перебирает элементы строки
        finish = joblist[i][j - 1] + joblist[i][j - n] + joblist[i - 1][j] + joblist[i - m][j]
        #сумирую элементы по заданию.
        print(finish, end = ' ')#вывожу получившиеся число и ставлю пробел
    print()#перехожу на следующую строку

#Напишите программу, на вход которой подаётся прямоугольная матрица в виде последовательности строк, заканчивающихся строкой,
#содержащей только строку "end" (без кавычек)
#Программа должна вывести матрицу того же размера, у которой каждый элемент в позиции i, j равен сумме элементов первой 
#матрицы на позициях (i-1, j), (i+1, j), (i, j-1), (i, j+1). У крайних символов соседний элемент находится с противоположной стороны матрицы.
#В случае одной строки/столбца элемент сам себе является соседом по соответствующему направлению.
#Sample Input 1:
#9 5 3
#0 7 -1
#-5 2 9
#end
#Sample Output 1:
#3 21 22
#10 6 19
#20 16 -1
#Sample Input 2:
#1
#end
#Sample Output 2:
#4
bc79485cb5d3b39e0f4647fff794f884b4caaced
<mask token>

<mask token>
while start != stop:
    start = input()
    if start != stop:
        startlist = [int(i) for i in start.split()]
        joblist.append(startlist[:])
        startlist = []
<mask token>
for i in range(len(joblist)):
    for j in range(len(joblist[i])):
        finish = joblist[i][j - 1] + joblist[i][j - n] + joblist[i - 1][j
            ] + joblist[i - m][j]
        print(finish, end=' ')
    print()

start = 0
stop = 'end'
joblist = []
while start != stop:
    start = input()
    if start != stop:
        startlist = [int(i) for i in start.split()]
        joblist.append(startlist[:])
        startlist = []
m = len(joblist) - 1
n = len(joblist[0]) - 1
for i in range(len(joblist)):
    for j in range(len(joblist[i])):
        finish = joblist[i][j - 1] + joblist[i][j - n] + joblist[i - 1][j
            ] + joblist[i - m][j]
        print(finish, end=' ')
    print()

start = 0
stop = 'end'
joblist = []
#старт что бы запускать туда значения для сравнения с значением стоп которое является контрольным значением для остановки цикла ввода данных.
#рабочий список собственно для загрузки туда верных значений для дальнейшей обработки
while start != stop: # запускаю цикл ввода данных
    start = input() # ввожу данные
    if start != stop: # сравниваю с стоп значением, если стоп значения не ту то иду дальше если было останавливаю цикл
        startlist = [int(i) for i in start.split()] # загружаю данные из стартового ввода и перевожу их в числа
        joblist.append(startlist[:]) # перегружаю данные в список для хранения пока не соберу все данные
        startlist = [] # обнуляю список загрузки что бы данные не двоились
m = len(joblist) - 1 # определяю количество строк и вычитаю единицу для работы последующего цикла
n = len(joblist[0]) - 1 #определяю количество элементов в строке(только первой строке ибо верно для всей матрицы) и аналогично убираю единицу
for i in range(len(joblist)): # запускаю цикл который перебирает строки
    for j in range(len(joblist[i])): # запускаю цикл который перебирает элементы строки
        finish = joblist[i][j - 1] + joblist[i][j - n] + joblist[i - 1][j] + joblist[i - m][j]
        #сумирую элементы по заданию.
        print(finish, end = ' ')#вывожу получившиеся число и ставлю пробел
    print()#перехожу на следующую строку

#Напишите программу, на вход которой подаётся прямоугольная матрица в виде последовательности строк, заканчивающихся строкой,
#содержащей только строку "end" (без кавычек)
#Программа должна вывести матрицу того же размера, у которой каждый элемент в позиции i, j равен сумме элементов первой 
#матрицы на позициях (i-1, j), (i+1, j), (i, j-1), (i, j+1). У крайних символов соседний элемент находится с противоположной стороны матрицы.
#В случае одной строки/столбца элемент сам себе является соседом по соответствующему направлению.
#Sample Input 1:
#9 5 3
#0 7 -1
#-5 2 9
#end
#Sample Output 1:
#3 21 22
#10 6 19
#20 16 -1
#Sample Input 2:
#1
#end
#Sample Output 2:
#4