What is mistake ? i am not getting correct annswer

int submatrix_2(int a[][10],int n)
{
int sum=0;
int prefix_array[n][n];
for(int i=0;i<n;i++)
prefix_array[0][i]=a[0][i];
for(int i=1;i<n;i++)
for(int j=0;j<n;j++)
prefix_array[i][j]=a[i][j]+a[i-1][j];

for(int j=1;j<n;j++)
	for(int i=0;i<n;i++)
	{	prefix_array[i][j]=prefix_array[i][j]+prefix_array[i][j-1];}

	
for(int  TLi=0;TLi<n;TLi++)
	{for(int TLj=0;TLj<n;TLj++)
		{for(int BRi=TLi;BRi<n;BRi++)
			{for(int BRj=TLj;BRj<n;BRj++)
				{
				sum+=prefix_array[BRi][BRj];
				if(TLj>0 )
				{sum=sum-prefix_array[BRi][TLj-1];cout<<sum<<" ";}
				if(TLi>0)
				{sum-=prefix_array[TLi-1][BRj];cout<<sum<<" ";}
				if(TLi>=0 && TLj>=0)
				{sum+=prefix_array[TLi-1][TLj-1];cout<<sum<<" ";}
				}}}}
return sum;

}