Please give some hint, why i m getting WA
#include<stdio.h>
int l(int x){
int y=0;
while (x){
y++;
x/=10;
}
return y;
}
long long unsigned int a[10000000];
int main(){
long long unsigned int i, j, k, t, p, q, x, y, m, len, r, test=1LL;
while(scanf("%llu %llu",&p,&q)){
if(!p && !q)
break;
printf("Case %llu:\n%llu / %llu\n",test++,p,q);
for (i=0; ; i++){
a[i]=p/q;
r=p;
p=q;
q=(r%p);
if(q==0)break;
if(p%q==0){
a[i+1]=(p/q)-1;
a[i+2]=1;
break;
}
}
if(q==0){len =0LL; len = 3+l(a[0]);
for (m=0; m<len; m++) printf(".");
printf("1\n");
printf("%llu.+.-\n",a[0]-1);
for (m=0; m<len; m++) printf(".");
printf("1\n");
continue;
}
i+=2;
len=0LL;
for (j=0; j<=i; j++){
len+=l(a[j]);
}
len += 3*i;
j = 2*i+1;
t=0LL;
for (k=0; k<j-1; k++){
if(k%2==0){
x=l(a[k/2])+3+t;
y=(len-x)/2;
if(len>(x+y+y)){
for (m=0; m<(y+x); m++) printf(".");
printf("1");
for (m; m<len-1; m++) printf(".");}
else{
for (m=0; m<(y+x)-1; m++) printf(".");
printf("1");
for (m; m<len-1; m++) printf(".");
}
printf("\n");
}
else{
while(t--)
printf(".");
printf("%llu.+.",a[k/2]);
t=x;
for (m=0; m<(len-x); m++) printf("-");
printf("\n");
}
}
len--;
while(len--)
printf(".");
printf("1\n");
}
return 0;
}