#include <iostream>
#define N 9
#define M 7
int nums = 1;
int arr[N][M];
using namespace std;
void printArr(){
for (int i = 0; i < N; i++){
for (int j = 0; j < M; j++){
cout << arr[i][j] << "\t";
}
cout << endl;
}
}
void circle (int k){
// levo pravo
// int p = k+1 ;
for (int i = 0+k; i < M-k; i++){
if (arr[N-N+k][i] == 0)
arr[N-N+k][i] = nums;
nums++;
}
// verh niz
nums--;
for (int i = 0+k; i < N-k; i++){
if (arr[i][M-1-k] == 0)
arr[i][M-1-k] = nums;
nums++;
}
// pravo levo
nums--;
for (int i = M-(k+1); i >= 0+k; i--){
if (arr[N-1-k][i]==0)
arr[N-1-k][i] = nums;
nums++;
}
// niz verh
nums--;
for (int i = N-(k+1); i > 0+k; i--){
if (arr[i][0+k] == 0)
arr[i][0+k] = nums;
nums++;
}
}
int main(){
if (M<N){
for (int k = 0; k < (M+1)/2; k++){
circle(k);
}
} else {
for (int k = 0; k < (N+1)/2; k++){
circle(k);
}
}
printArr();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKI2RlZmluZSBOIDkKI2RlZmluZSBNIDcKCmludCBudW1zID0gMTsgCgoKaW50IGFycltOXVtNXTsKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHByaW50QXJyKCl7Cglmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKyl7CgkJZm9yIChpbnQgaiA9IDA7IGogPCBNOyBqKyspewoJCQljb3V0IDw8IGFycltpXVtqXSA8PCAiXHQiOwoJCX0KCQljb3V0IDw8IGVuZGw7Cgl9Cn0KCnZvaWQgY2lyY2xlIChpbnQgayl7CQoJCgkvLyBsZXZvIHByYXZvCgkvLyBpbnQgcCA9IGsrMSA7Cglmb3IgKGludCBpID0gMCtrOyBpIDwgTS1rOyBpKyspewoJCWlmIChhcnJbTi1OK2tdW2ldID09IDApCgkJCWFycltOLU4ra11baV0gPSBudW1zOwoJCW51bXMrKzsKCX0KCS8vIHZlcmggbml6CgludW1zLS07Cglmb3IgKGludCBpID0gMCtrOyBpIDwgTi1rOyBpKyspewoJCWlmIChhcnJbaV1bTS0xLWtdID09IDApCgkJCWFycltpXVtNLTEta10gPSBudW1zOwoJCW51bXMrKzsKCX0KCS8vIHByYXZvIGxldm8KCW51bXMtLTsKCWZvciAoaW50IGkgPSBNLShrKzEpOyBpID49IDArazsgaS0tKXsKCQlpZiAoYXJyW04tMS1rXVtpXT09MCkKCQkJYXJyW04tMS1rXVtpXSA9IG51bXM7CgkJbnVtcysrOwoJfQoJLy8gbml6IHZlcmgKCW51bXMtLTsKCWZvciAoaW50IGkgPSBOLShrKzEpOyBpID4gMCtrOyBpLS0pewoJCWlmIChhcnJbaV1bMCtrXSA9PSAwKQoJCQlhcnJbaV1bMCtrXSA9IG51bXM7CgkJbnVtcysrOwoJfQoJCn0KCiAKaW50IG1haW4oKXsKCQoJaWYgKE08Til7CQoJCWZvciAoaW50IGsgPSAwOyBrIDwgKE0rMSkvMjsgaysrKXsJCQoJCQljaXJjbGUoayk7CQoJCX0JCgl9IGVsc2UgewoJCWZvciAoaW50IGsgPSAwOyBrIDwgKE4rMSkvMjsgaysrKXsJCQoJCQljaXJjbGUoayk7CQoJCX0KCX0KCQoJcHJpbnRBcnIoKTsKCQoJcmV0dXJuIDA7Cn0=