На вход программе подаются два натуральных числа n и m. Напишите программу, которая создает матрицу размером n×m заполнив её «спиралью» в соответствии с образцом.

Формат входных данных
На вход программе на одной строке подаются два натуральных числа n и m — количество строк и столбцов в матрице.
Формат выходных данных
Программа должна вывести матрицу в соответствии образцом.
n, m = map(int, input().split())
matrix = [[0 for x in range(m)] for y in range(n)]
direction = [0, 1, 0, -1]
count = 1
x = y = 0
while count <= n * m:
matrix[x][y] = str(count).ljust(3)
count += 1
try:
if matrix[x + direction[0]][y + direction[1]] != 0:
direction.append(direction.pop(0))
x += direction[0]
y += direction[1]
except:
direction.append(direction.pop(0))
x += direction[0]
y += direction[1]
for line in matrix:
print(*line)
