#include <stdio.h>
#include <stdbool.h>
#define left 0
#define up 1
#define right 2
#define down 3
int main(void) {
//scan data
int n,way;
int number[49][49];
int i,j;
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%d",&number
[i
][j
]);
//process data;
int x,y;
x=y=n/2;
bool change=0;
int count=0,add=1,goal=0;
for(i=0;i<n*n-1;i++){ //0(+1),1(+2),3(+2),5(+3),8(+3),11(+4),15(+4),19(+5),24(+5),29(+6)...
if(i==goal){
change=1;
if(count%2==0)
goal+=add;
else{
add++;
goal+=add;
}
count++;
}
switch(way){
case left:
if(change) way++;
break;
case up:
if(change) way++;
break;
case right:
if(change) way++;
break;
case down:
if(change) way=0;
break;
}
change=0;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRib29sLmg+CiNkZWZpbmUgbGVmdCAwCiNkZWZpbmUgdXAgMQojZGVmaW5lIHJpZ2h0IDIKI2RlZmluZSBkb3duIDMKCgppbnQgbWFpbih2b2lkKSB7CgkvL3NjYW4gZGF0YQoJaW50IG4sd2F5OwoJc2NhbmYoIiVkJWQiLCZuLCZ3YXkpOwoJaW50IG51bWJlcls0OV1bNDldOwoJaW50IGksajsKCWZvcihpPTA7aTxuO2krKykKCQlmb3Ioaj0wO2o8bjtqKyspCgkJCXNjYW5mKCIlZCIsJm51bWJlcltpXVtqXSk7CgkKCS8vcHJvY2VzcyBkYXRhOwoJaW50IHgseTsKCXg9eT1uLzI7CglwcmludGYoIiVkIixudW1iZXJbeV1beF0pOwoJYm9vbCBjaGFuZ2U9MDsKCWludCBjb3VudD0wLGFkZD0xLGdvYWw9MDsKCWZvcihpPTA7aTxuKm4tMTtpKyspeyAgICAgICAgLy8wKCsxKSwxKCsyKSwzKCsyKSw1KCszKSw4KCszKSwxMSgrNCksMTUoKzQpLDE5KCs1KSwyNCgrNSksMjkoKzYpLi4uCgkJaWYoaT09Z29hbCl7CgkJCWNoYW5nZT0xOwoJCQlpZihjb3VudCUyPT0wKQoJCQkJZ29hbCs9YWRkOwkKCQkJZWxzZXsKCQkJCWFkZCsrOwoJCQkJZ29hbCs9YWRkOwoJCQl9CgkJCWNvdW50Kys7CgkJfSAgCgkJc3dpdGNoKHdheSl7CgkJCWNhc2UgbGVmdDoKCQkJCXByaW50ZigiJWQiLG51bWJlclt5XVstLXhdKTsKCQkJCWlmKGNoYW5nZSkgd2F5Kys7CgkJCQlicmVhazsKCQkJY2FzZSB1cDoKCQkJCXByaW50ZigiJWQiLG51bWJlclstLXldW3hdKTsKCQkJCWlmKGNoYW5nZSkgd2F5Kys7CgkJCQlicmVhazsKCQkJY2FzZSByaWdodDoKCQkJCXByaW50ZigiJWQiLG51bWJlclt5XVsrK3hdKTsKCQkJCWlmKGNoYW5nZSkgd2F5Kys7CgkJCQlicmVhazsKCQkJY2FzZSBkb3duOgoJCQkJcHJpbnRmKCIlZCIsbnVtYmVyWysreV1beF0pOwoJCQkJaWYoY2hhbmdlKSB3YXk9MDsKCQkJCWJyZWFrOwoJCX0KCQljaGFuZ2U9MDsKCX0KCXJldHVybiAwOwp9Cg==