getting wrong ans

#include<stdio.h>
#include<conio.h>
int tri(int,int,int);
int a[100][100];
int s1,s2,val;

main()
{
	int n,m,i,j,sum,k;
	scanf("%d",&m);
	for(k=1;k<=m;k++)
	{
		scanf("%d",&n);

		for(i=0;i<n;i++)
		{
			for(j=0;j<=i;j++)
			scanf("%d",&a[i][j]);
			printf("\n");
			
		}
sum=tri(0,0,n);
printf("%d\n",sum);
	}

getch();

}

int tri(int i,int j,int n)
{
if(i>=(n-1))
{
val= a[i][j];}
else
{
s1=a[i][j]+tri(i+1,j,n);
s2=a[i][j]+tri(i+1,j+1,n);
if(s1>s2)
val=s1;
val=s2;
}
return val;

}