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;
}