#include <stdio.h>
int main(void) {
int n = 4, m = 4;
int arr[4][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16};
int top = 0, bottom = n-1, right = m-1, left = 0, i=0, j=0;
while(1){
if(top>bottom || left>right) break;
if(bottom==top){
for(j=left; j<=right; j++)
break;
}
if(right==left){
for(i=top; i<=bottom; i++)
break;
}
int first = 1;
while(j<=right){
if(first){
j++;
first = 0;
continue;
}
j++;
}
j--; right--;
first = 1;
while(i<=bottom){
if(first){
i++;
first = 0;
continue;
}
i++;
}
i--; bottom--;
first = 1;
while(j>=left){
if(first){
j--;
first = 0;
continue;
}
j--;
}
j++; left++;
first = 1;
while(i>=top+1){
if(first){
i--;
first = 0;
continue;
}
i--;
}
i++; top++;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CglpbnQgbiA9IDQsIG0gPSA0OwoJaW50IGFycls0XVs0XSA9IHsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LCAxNn07CgkKCWludCB0b3AgPSAwLCBib3R0b20gPSBuLTEsIHJpZ2h0ID0gbS0xLCBsZWZ0ID0gMCwgaT0wLCBqPTA7CgkKCXByaW50ZigiJWQgIiwgYXJyW2ldW2pdKTsKCQoJd2hpbGUoMSl7CgkJaWYodG9wPmJvdHRvbSB8fCBsZWZ0PnJpZ2h0KSBicmVhazsKCQkKCQkKCQlpZihib3R0b209PXRvcCl7CgkJCWZvcihqPWxlZnQ7IGo8PXJpZ2h0OyBqKyspCgkJCQlwcmludGYoIiVkICIsIGFyclt0b3BdW2pdKTsKCQkJYnJlYWs7CgkJfQoJCQoJCWlmKHJpZ2h0PT1sZWZ0KXsKCQkJZm9yKGk9dG9wOyBpPD1ib3R0b207IGkrKykKCQkJCXByaW50ZigiJWQgIiwgYXJyW2xlZnRdW2ldKTsKCQkJYnJlYWs7CgkJfQoJCQoJCWludCBmaXJzdCA9IDE7CgkJd2hpbGUoajw9cmlnaHQpewoJCQlpZihmaXJzdCl7CgkJCQlqKys7CgkJCQlmaXJzdCA9IDA7CgkJCQljb250aW51ZTsKCQkJfQoJCQkKCQkJcHJpbnRmKCIlZCAiLCBhcnJbaV1bal0pOwoJCQlqKys7CgkJfQoJCWotLTsgcmlnaHQtLTsKCQkKCQlmaXJzdCA9IDE7CgkJd2hpbGUoaTw9Ym90dG9tKXsKCQkJaWYoZmlyc3QpewoJCQkJaSsrOwoJCQkJZmlyc3QgPSAwOwoJCQkJY29udGludWU7CgkJCX0JCQkKCQkJCgkJCXByaW50ZigiJWQgIiwgYXJyW2ldW2pdKTsKCQkJaSsrOwoJCX0KCQlpLS07IGJvdHRvbS0tOwoKCQlmaXJzdCA9IDE7CgkJd2hpbGUoaj49bGVmdCl7CgkJCWlmKGZpcnN0KXsKCQkJCWotLTsKCQkJCWZpcnN0ID0gMDsKCQkJCWNvbnRpbnVlOwoJCQl9CgkJCQoJCQlwcmludGYoIiVkICIsIGFycltpXVtqXSk7CgkJCWotLTsKCQl9CgkJaisrOyBsZWZ0Kys7CgkJCgkJZmlyc3QgPSAxOwoJCXdoaWxlKGk+PXRvcCsxKXsKCQkJaWYoZmlyc3QpewoJCQkJaS0tOwoJCQkJZmlyc3QgPSAwOwoJCQkJY29udGludWU7CgkJCX0KCQkJCgkJCXByaW50ZigiJWQgIiwgYXJyW2ldW2pdKTsKCQkJaS0tOwoJCX0KCQlpKys7IHRvcCsrOwoJfQoJCglyZXR1cm4gMDsKfQo=