#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef pair P; long long int INF = 3e18; double Pi = 3.1415926535897932384626; vector G[500005]; //vector

tree[500010]; priority_queue pql; priority_queue

pqp; //big priority queue priority_queue ,greater > pqls; priority_queue ,greater

> pqps; //small priority queue //top pop int dx[8]={1,0,-1,0,1,1,-1,-1}; int dy[8]={0,1,0,-1,1,-1,-1,1}; char dir[] = "DRUL"; //ll bit[500005]; //↓,→,↑,← #define p(x) cout<=1; i--){ rfact[i-1] = rfact[i] * i; rfact[i-1] %= mod; } return;} ll c3(ll n,ll r){ return (((fact[n] * rfact[r]) % mod) * rfact[n-r]) % mod;} */ ll n,m,num,sum,ans,a,b,c,d,e,g,h,w,i,j,k,q,l,r,idx; ll x[500005],y[500005],z[500005]; ll dp[505][505]; char s[500005]; bool flag,dame; int main(){ cin >> n; num = 1; if(n%4 == 2){ for(i=0;i=0;j--){ dp[i][j] = num; dp[i+n/2][j+n/2] = num; dp[n/2-i-1][j+n/2] = num; dp[n-i-1][j] = num; num++; } } } for(i=0;i= n/2){ dp[i][j] = n*n/2 + dp[i][j] * 2 - 1; } if(i >= n/2 && j < n/2){ dp[i][j] = n*n/2 + dp[i][j] * 2; } if(i >= n/2 && j >= n/2){ dp[i][j] *= 2; } } } for(i=0;i=0;j--){ dp[i][j] = num; dp[i+n/2][j+n/2] = num; dp[i][n-1-j] = num; dp[i+n/2][n/2-j-1] = num; num++; } } } for(i=0;i= n/2){ dp[i][j] = n*n/2 + dp[i][j] * 2 - 1; } if(i >= n/2 && j < n/2){ dp[i][j] = n*n/2 + dp[i][j] * 2; } if(i >= n/2 && j >= n/2){ dp[i][j] *= 2; } } } for(i=0;i