GERALD03(easy)

Q. can anyone please tell why this program is showing runtime error ?

#include<stdio.h>
#define NMAX 1000000
int main()
{

int t,n,p,s,count,i,l,r,k;

char num[NMAX];

scanf("%d",&t);

while(t--)
{
 k=0;
 count=0;

scanf("%d",&n);

if(n>=1)
 {
   scanf("%d%d",&l,&r);
   p=l;
   s=r;
   n=n-1;
 }
 
 
 for(i=1;i<=n;i++)
 {
     scanf("%d%d",&l,&r);
    while(p!=l || s!=r)
	{
	if(p+1!=s && p!=l && l>p)
	{
		 p++;
		num[k++]='L';
		num[k++]='+';

	}
	else if(p-1!=s && p!=l && l<p)
	{
		 p--;
		num[k++]='L';
		num[k++]='-';

	}
	else if(r>s)
	{
		s++;
		num[k++]='R';
		num[k++]='+';

	}
	else
	{
		s--;
		num[k++]='R';
		num[k++]='-';

       }


	count++;
       }
 }
 num[k]='\0';
 printf("%d\n",count);
printf("%s\n",num);


}
return 0;

}