Why Is This Code Running Only For 1 time?

#include<stdio.h>
int main()
{
int t,i,n;
scanf("%d",&t);
for(i=0;i<t;i++)
{
scanf("%d",&n);

int a[n],j;
for(j=0;j<n;j++)
{
    scanf("%d",&a[j]);
}
int k,l,m=0;
int c[100000];

for(k=0;k<n;k++)
{
    for(l=k+1;l<n;l++)
    {
        c[m]=a[k]*a[l];
        m++;
    }
}
int cc,mm,aa;
for(cc=0;cc<100000;cc++)
{
    if(c[cc]==0)
    {
        mm=cc;
        break;
    }
    }
    printf("%d\n",mm);
    for(aa=0;aa<mm;aa++)
    {
        printf("%d\t",c[aa]);
    }
    printf("\n");
}
return 0;

}

i think u have missed a brace before the return statement.