#include <stdio.h>
int main(void) {
int lin, col, i, j, realizacoes, camada=0, camadasTotal;
scanf("%i %i", &lin
, &col
); int mat[lin][col];
//ajusta as linhas
if (lin%2 == 0) {
camadasTotal = lin/2;
} else {
camadasTotal = lin/2 + 1;
}
for (camada=0; camada < camadasTotal; camada++) {
i=camada; //parte de cima da matriz
for (realizacoes=0; realizacoes<2; realizacoes++) {
j=camada;
for (j=camada; j < col-camada; j++) {
mat[i][j] = camada+1;
}
i=lin-1-camada; //parte de baixo da matriz
}
}
//ajusta as colunas
if (col%2 == 0) {
camadasTotal = col/2;
} else {
camadasTotal = col/2 + 1;
}
for (camada=0; camada < camadasTotal; camada++) {
j=camada; //parte da esquerda da matriz
for (realizacoes=0; realizacoes<2; realizacoes++) {
i=camada;
for (i=camada; i < lin-camada; i++) {
mat[i][j] = camada+1;
}
j=col-1-camada; //parte da direita da matriz
}
}
//mostra a matriz
for (i=0; i < lin; i++) {
for (j=0; j < col; j++) {
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CglpbnQgbGluLCBjb2wsIGksIGosIHJlYWxpemFjb2VzLCBjYW1hZGE9MCwgY2FtYWRhc1RvdGFsOwoJc2NhbmYoIiVpICVpIiwgJmxpbiwgJmNvbCk7CglpbnQgbWF0W2xpbl1bY29sXTsKCQoJLy9hanVzdGEgYXMgbGluaGFzCglpZiAobGluJTIgPT0gMCkgewoJCWNhbWFkYXNUb3RhbCA9IGxpbi8yOwoJfSBlbHNlIHsKCQljYW1hZGFzVG90YWwgPSBsaW4vMiArIDE7Cgl9CgkKCWZvciAoY2FtYWRhPTA7IGNhbWFkYSA8IGNhbWFkYXNUb3RhbDsgY2FtYWRhKyspIHsKCQlpPWNhbWFkYTsgLy9wYXJ0ZSBkZSBjaW1hIGRhIG1hdHJpegoJCWZvciAocmVhbGl6YWNvZXM9MDsgcmVhbGl6YWNvZXM8MjsgcmVhbGl6YWNvZXMrKykgewoJCQlqPWNhbWFkYTsKCQkJZm9yIChqPWNhbWFkYTsgaiA8IGNvbC1jYW1hZGE7IGorKykgewoJCQkJbWF0W2ldW2pdID0gY2FtYWRhKzE7CgkJCX0KCQkJaT1saW4tMS1jYW1hZGE7IC8vcGFydGUgZGUgYmFpeG8gZGEgbWF0cml6CgkJfQoJfQoKCS8vYWp1c3RhIGFzIGNvbHVuYXMKCWlmIChjb2wlMiA9PSAwKSB7CgkJY2FtYWRhc1RvdGFsID0gY29sLzI7Cgl9IGVsc2UgewoJCWNhbWFkYXNUb3RhbCA9IGNvbC8yICsgMTsKCX0KCQoJZm9yIChjYW1hZGE9MDsgY2FtYWRhIDwgY2FtYWRhc1RvdGFsOyBjYW1hZGErKykgewoJCWo9Y2FtYWRhOyAvL3BhcnRlIGRhIGVzcXVlcmRhIGRhIG1hdHJpegoJCWZvciAocmVhbGl6YWNvZXM9MDsgcmVhbGl6YWNvZXM8MjsgcmVhbGl6YWNvZXMrKykgewoJCQlpPWNhbWFkYTsKCQkJZm9yIChpPWNhbWFkYTsgaSA8IGxpbi1jYW1hZGE7IGkrKykgewoJCQkJbWF0W2ldW2pdID0gY2FtYWRhKzE7CgkJCX0KCQkJaj1jb2wtMS1jYW1hZGE7IC8vcGFydGUgZGEgZGlyZWl0YSBkYSBtYXRyaXoKCQl9Cgl9CgkKCS8vbW9zdHJhIGEgbWF0cml6Cglmb3IgKGk9MDsgaSA8IGxpbjsgaSsrKSB7CgkJZm9yIChqPTA7IGogPCBjb2w7IGorKykgewoJCQlwcmludGYoIiVpICIsIG1hdFtpXVtqXSk7CgkJfQoJCXByaW50ZigiXG4iKTsKCX0KCQoJcmV0dXJuIDA7Cn0K