#include <stdio.h>

s;g(int i,int j,int**m,int x){for(s=0;x;x--)s+=m[i++][j++];printf(" %d",s);}
k;f(int n,int**m){for(k=n;--k;)g(k,0,m,n-k);for(;k<n;k++)g(0,k,m,n-k);}

int main(void)
{
	int l[3][3] =
	{{2,1,3},
	 {5,4,6},
	 {8,7,9}};
	
	int**m = (int**)malloc(sizeof(int*)*3);
	for(int j=0;j<3;j++)
	{
		m[j] = (int*)malloc(sizeof(int)*3);
		for(int q=0;q<3;q++) m[j][q]=l[j][q];
	}
	f(3, m);
	return 0;
}
