#include <stdio.h>
#define TRUE 1
#define FALSE 0
#define MAX 10
int main()
{
double M[MAX][MAX];
int n, i, j;
int achei_contraexemplo; /* encontrou lin,col,diag com soma diferente*/
int soma,s; /* soma de cada linha */
scanf("%d", &n);
for (i=0; i<n; i++)
for (j=0; j<n; j++)
scanf("%lf", &M[i][j]);
soma = 0;
for (i = 0; i < n; i++)
soma = soma + M[i][i]; /* diagonal principal */
s = 0;
for ( i = 0; i < n; i++)
s = s + M[i][n-1 - i];
achei_contraexemplo = (s!=soma);/* diagonal secundaria */
for ( i = 0; i < n; i++ ) {
s = 0;
for (j = 0; j < n; j++)
s = s + M[i][j];
if (s != soma) achei_contraexemplo = TRUE; /* linha i */
s = 0;
for (j = 0; j < n; j++)
s = s + M[j][i];
if (s != soma) achei_contraexemplo = TRUE; /*coluna i */
}
if (achei_contraexemplo == FALSE) printf("A matriz eh um quadrado magico.\n");
else printf("A matriz NAO eh um quadrado magico.\n");
return 0;
}