#include<stdio.h>
int isDiv(int);
int main(){
int n;
//check contraint
if(n<=0 || n>100){
return 0;
}
int a[100][100]; // main matrix
int counter=1; // keeps track of number
int i,j; //keeps track of position
int w; // w - window
int size=n-1; // size - size of segment of window
for( w = 0 ; w < n / 2 ; w++){
i = w;
j = w;
//go right
for( j = j ; j < size + w ; j++){
a[ i ][ j ] = counter;
counter++;
}
//go down
for( i = i ; i < size + w ; i++){
a[ i ][ j ] = counter;
counter++;
}
//go left
for( j = j ; j > w ; j--){
a[ i ][ j ] = counter;
counter++;
}
//go up
for( i = i ; i > w ; i--){
a[ i ][ j ] = counter;
counter++;
}
size = size-2;
}
if( n % 2 != 0){
a[ w ][ w ] = counter;
}
//print matrix
for( i = 0 ; i < n ; i++){
for( j = 0 ; j < n ; j++){
}
}
int no_div = (n*n)/11 + 1 ; // no of divisibles
printf("Total Power points : %d\n",no_div
);
size=n-1;
//print positions
for( w = 0 ; w < n / 2 ; w++){
i = w;
j = w;
//go right
for( j = j ; j < size + w ; j++){
if(isDiv( a[ i ][ j ] )){
}
}
//go down
for( i = i ; i < size + w ; i++){
if(isDiv( a[ i ][ j ] )){
}
}
//go left
for( j = j ; j > w ; j--){
if(isDiv( a[ i ][ j ] )){
}
}
//go up
for( i = i ; i > w ; i--){
if(isDiv( a[ i ][ j ] )){
}
}
size = size-2;
}
if( n % 2 != 0){
if(isDiv( a[ i ][ j ] )){
}
}
return 0;
}
int isDiv(int x){
if( x % 11 == 0 ){
return 1;
}
else{
return 0;
}
}
I2luY2x1ZGU8c3RkaW8uaD4KCmludCBpc0RpdihpbnQpOwoKaW50IG1haW4oKXsKCQoJaW50IG47CglzY2FuZigiJWQiLCZuKTsKCQoJLy9jaGVjayBjb250cmFpbnQKCWlmKG48PTAgfHwgbj4xMDApewoJICAgIHJldHVybiAwOwoJfQoJCglpbnQgYVsxMDBdWzEwMF07IC8vIG1haW4gbWF0cml4CgkKCWludCBjb3VudGVyPTE7IC8vIGtlZXBzIHRyYWNrIG9mIG51bWJlcgoJCglpbnQgaSxqOyAvL2tlZXBzIHRyYWNrIG9mIHBvc2l0aW9uCgkKCWludCB3OyAgIC8vIHcgLSB3aW5kb3cgCgkKCWludCBzaXplPW4tMTsgLy8gc2l6ZSAtIHNpemUgb2Ygc2VnbWVudCBvZiB3aW5kb3cKCQoJZm9yKCB3ID0gMCA7IHcgPCBuIC8gMiA7IHcrKyl7CgkgICAgaSA9IHc7CgkgICAgaiA9IHc7CgkgICAgCgkgICAgLy9nbyByaWdodAoJCWZvciggaiA9IGogOyBqIDwgc2l6ZSArIHcgOyBqKyspewoJCQlhWyBpIF1bIGogXSA9IGNvdW50ZXI7CgkJCWNvdW50ZXIrKzsKCQl9CgkJCgkJLy9nbyBkb3duCgkJZm9yKCBpID0gaSA7IGkgPCBzaXplICsgdyA7IGkrKyl7CgkJCWFbIGkgXVsgaiBdID0gY291bnRlcjsKCQkJY291bnRlcisrOwoJCX0KCQkKCQkvL2dvIGxlZnQKCQlmb3IoIGogPSBqIDsgaiA+IHcgOyBqLS0pewoJCQlhWyBpIF1bIGogXSA9IGNvdW50ZXI7CgkJCWNvdW50ZXIrKzsKCQl9CgkJCgkJLy9nbyB1cAoJCWZvciggaSA9IGkgOyBpID4gdyA7IGktLSl7CgkJCWFbIGkgXVsgaiBdID0gY291bnRlcjsKCQkJY291bnRlcisrOwoJCX0KCQlzaXplID0gc2l6ZS0yOwoJfQoJaWYoIG4gJSAyICE9IDApewogICAgICAgIGFbIHcgXVsgdyBdID0gY291bnRlcjsJICAgIAoJfQoJCiAgICAvL3ByaW50IG1hdHJpeAoJZm9yKCBpID0gMCA7IGkgPCBuIDsgaSsrKXsKCQlmb3IoIGogPSAwIDsgaiA8IG4gOyBqKyspewoJCQlwcmludGYoIiVkXHQiLCBhWyBpIF1bIGogXSk7CgkJfQoJCXByaW50ZigiXG4iKTsKCX0KCQoJaW50IG5vX2RpdiA9IChuKm4pLzExICsgMSA7IC8vIG5vIG9mIGRpdmlzaWJsZXMKCQoJcHJpbnRmKCJUb3RhbCBQb3dlciBwb2ludHMgOiAlZFxuIixub19kaXYpOwoJCglwcmludGYoIigwLDApXG4iKTsKCQoJc2l6ZT1uLTE7CgkKCS8vcHJpbnQgcG9zaXRpb25zCglmb3IoIHcgPSAwIDsgdyA8IG4gLyAyIDsgdysrKXsKCSAgICBpID0gdzsKCSAgICBqID0gdzsKCSAgICAKCSAgICAvL2dvIHJpZ2h0CgkJZm9yKCBqID0gaiA7IGogPCBzaXplICsgdyA7IGorKyl7CiAgICAgICAgICAgIGlmKGlzRGl2KCBhWyBpIF1bIGogXSApKXsKCQkgICAgICAgIHByaW50ZigiKCVkLCVkKVxuIiwgaSwgaik7CgkJICAgIH0KCQl9CgkJCgkJLy9nbyBkb3duCgkJZm9yKCBpID0gaSA7IGkgPCBzaXplICsgdyA7IGkrKyl7CiAgICAgICAgICAgIGlmKGlzRGl2KCBhWyBpIF1bIGogXSApKXsKCQkgICAgICAgIHByaW50ZigiKCVkLCVkKVxuIiwgaSwgaik7CgkJICAgIH0KCQl9CgkJCgkJLy9nbyBsZWZ0CgkJZm9yKCBqID0gaiA7IGogPiB3IDsgai0tKXsKCQkJaWYoaXNEaXYoIGFbIGkgXVsgaiBdICkpewoJCSAgICAgICAgcHJpbnRmKCIoJWQsJWQpXG4iLCBpLCBqKTsKCQkgICAgfQoJCX0KCQkKCQkvL2dvIHVwCgkJZm9yKCBpID0gaSA7IGkgPiB3IDsgaS0tKXsKCQkJaWYoaXNEaXYoIGFbIGkgXVsgaiBdICkpewoJCSAgICAgICAgcHJpbnRmKCIoJWQsJWQpXG4iLCBpLCBqKTsKCQkgICAgfQoJCX0KCQlzaXplID0gc2l6ZS0yOwoJfQoJaWYoIG4gJSAyICE9IDApewogICAgICAgIGlmKGlzRGl2KCBhWyBpIF1bIGogXSApKXsKICAgICAgICAgICAgcHJpbnRmKCIoJWQsJWQpXG4iLCBpLCBqKTsKCSAgICB9CSAgICAKCX0KCglyZXR1cm4gMDsKfQoKaW50IGlzRGl2KGludCB4KXsKICAgIGlmKCB4ICUgMTEgPT0gMCApewogICAgICAgIHJldHVybiAxOwogICAgfQogICAgZWxzZXsKICAgICAgICByZXR1cm4gMDsKICAgIH0KfQ==