sigsegv error in conflip problem

#include<stdio.h>
int rev(int x)
{
int y;
if(x==2)
{
y=1;
}
else
{
y=2;
}
return y;
}
int main()
{
int t,g,i,n,q,j,k,a[50],l,m,c=0;
scanf("%d",&t);
for(j=0;j<t;j++)
{
scanf("%d",&g);
for(k=0;k<g;k++)
{
c=0;
scanf("%d %d %d",&i,&n,&q);
for(l=0;l<n;l++)
{
a[l]=i;
}
for(l=0;l<n;l++)
{
for(m=0;m<=l;m++)
{
a[l]=rev(a[l]);
}
}
for(l=0;l<n;l++)
{
if(a[l]==q)
{
c=c+1;
}
}
printf("%d",c);
}
}
return 0;
}