#include <stdio.h>


int is_magic(int *m, size_t size)
{
    int sum = 0;
    
    for(size_t col = 0; col < size; col++)
    {
        sum += m[col];
    }

    for(size_t row = 1; row < size; row++)
    {
        int psum = 0;
        for(size_t col = 0; col < size; col++)
        {
            psum += m[col + row * size];
        }
        if(psum != sum) return 0;
    }
    
    for(size_t col = 0; col < size; col++)
    {
        int psum = 0;
        for(size_t row = 0; row < size; row++)
        {
            psum += m[col + row * size];
        }
        if(psum != sum) return 0;
    }
    return 1;
}

int m[3][3] = 
{
    {8, 1, 6},
    {3, 5, 7},
    {4, 9, 2},
};

int m1[3][3] = 
{
    {8, 1, 6},
    {3, 9, 7},
    {4, 9, 2},
};


int main()
{
    printf("%d\n", is_magic(m,3));
    printf("%d\n", is_magic(m1,3));

    return 0;
}


