semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
main()
{char string[1000],*p;
 int count[300],i=0,j=0;
 gets(string);
 p=string;
 char word[300][20];
 do
	{while(*p==' ')p++;
     word[i][j]=*p;
	 p++;
	 j++;
	 if(*p==' '||*p=='\0')
		{count[i]=j;
		 i++;
	     j=0;
		}
	}while(*p);
 printf("%d",count[0]);
 for(j=1;j<i;j++)
	 printf(",%d",count[j]);
}
void main()
{
	char s[3000];
	int len[300]={0};
	int i,j=0;
	int n;
    
	gets(s);
	n=strlen(s);

	for(i=0;i<n;i++)
	{
		if(s[i]!=' ')
			len[j]++;
		if(s[i]==' '&&s[i-1]!=' ')
			j++;
	}

	printf("%d",len[0]);
	for(i=1;i<=j;i++)
		printf(",%d",len[i]);

	printf("\n");
}
int main(){
        char a[2000];
        int sz[256],i,j,k;
        gets(a);
        j=0;
        k=0;
        for(i=0;a[i]!='\0';i++){
                j++;
                if(a[i]==' '&&a[i-1]==' '){
                        j--;
                        continue;
                }
                if(a[i]==' '){
                        sz[k]=j-1;
                        j=0;
                        k++;
                }
                if(a[i+1]=='\0'){
                        sz[k]=j;
                }
        }
        printf("%d",sz[0]);
        for(i=1;i<=k;i++){
                printf(",%d",sz[i]);
        }


                

return 0;


}
main()
{
	int l,i=0,num=0;
	char str[1000];
	gets(str);
	l=strlen(str);
    if(str[0]!=' ')
	{
		while(str[i]!=' '&&i<=l-1)
		{
			i++;
		}
		printf("%d",i);
		while(i<=l-1)
		{
			if(str[i]==' '&&str[i+1]!=' '&&i<=l-2)
			{
				i++;
				while(str[i]!=' '&&i<=l-1)
				{
					num++;
					i++;
				}
				printf(",%d",num);
				num=0;
				i--;
			}
			i++;
		}
		printf("\n");
	}
	else
	{
		while(str[i]==' ')
		{
			i++;
		}
		num=0;
		while(str[i]!=' '&&i<=l-1)
		{
			num++;
			i++;
		}
		printf("%d",num);
		i--;
		num=0;
		while(i<=l-1)
		{
			if(str[i]==' '&&str[i+1]!=' '&&i<=l-2)
			{
				i++;
				while(str[i]!=' '&&i<=l-1)
				{
					num++;
					i++;
				}
				printf(",%d",num);
				num=0;
				i--;
			}
			i++;
		}
		printf("\n");
	}
}
int main()
{
	char a[3000],b[300][30];
	int i,n,len,j=0,k=0,l[300];
	gets(a);
	len=strlen(a);
	for(i=0;i<len;i++)
	{
		if(a[i]!=' ')
		{
			b[j][k]=a[i];
			k++;
		}
		else 
		{
			if(a[i-1]!=' ')
			{
			  b[j][k]='\0';
			  k=0;
			}
		    if(a[i+1]!=' ')
			{
			   j++;
			}
		}
	}
	b[j][k]='\0';
    for(n=0;n<j;n++)
	{
		l[n]=strlen(b[n]);
		printf("%d,",l[n]);
	}
	l[j]=strlen(b[j]);
	printf("%d",l[j]);
	return 0;
}
void main()
{
	char str[3000];
	int i,j=0,k;
	char *p;
	gets(str);
	p=str;
	for(i=0;*(p+i)!='\0';i++)
	{
		if(*(p+i)!=' ')
		{
			j++;k=0;
		}
		else if(k==0)
		{
			printf("%d,",j);
			k=1;j=0;
		}
	}
	printf("%d\n",j);
}
char str[4500];
int main(){
	char a[300][15];
	int i,b[300],j,z;
	gets(str);
	j=0;
	z=0;
	for(i=0;str[i]!='\0';i++){
		if(str[i]!=' '){
			a[j][z]=str[i];
			z++;
		}
		if(str[i]==' '){
			a[j][z]='\0';
			j++;
			z=0;
		}
	}
	a[j][z]='\0';
	b[0]=strlen(a[0]);
	printf("%d",b[0]);
	for(i=1;i<=j;i++){
		b[i]=strlen(a[i]);
		if(b[i]!=0){
		   printf(",%d",b[i]);
		}
	}
	return 0;
}
void main()
{
	int i,j,a[1111],m=0;
	char b[11111],*p;
	gets(b);
	for(p=b;*p!='\0';p++)
	{
		if(*p==' ') m=m+1;
	}
	for(i=0;i<=m;i++) a[i]=0;
	i=0;
	for(p=b;*p!='\0';p++)
	{
		if(*p!=' ') a[i]=a[i]+1;
		else if(*p==' '&&*(p-1)!=' ') i=i+1;
	}
	j=i;
	printf("%d",a[0]);
	for(i=1;i<=j;i++)
		printf(",%d",a[i]);
}
int main()
{


char s[N];
gets(s);
int n,i,j=0,m=0,q=0;
n=strlen(s);
for(i=0;i<n;i++)
{
    if(s[i]!=' ')
    {

        j ++;
    }
    else
    {
        if(s[i+1]==' ')
        continue;
        q++;
        if(q==1)
        printf("%d",j);
        else if(q>1)
           printf(",%d",j);
        j=0;
    }
if(i==n-1)
 {
     if(q==0)
      printf("%d",j);
      else
      printf(",%d",j);
 }

}
return 0;
}
void main()
{
	char c[1000],*p;
	int i,j;
	gets(c);
	p=c;
	int a[1000]={0};
	for(i=0,j=0;*(p+i)!='\0';i++)
	{
		if (*(p+i)!=' ')
		{
            
            a[j]=a[j]+1;
			
			
		}
			if(*(p+i)==' ')  
			{
				
				if(a[j]!=0) j=j+1;
				
				continue;
			}
	}

	for(i=0;i<j;i++)
	{
		printf("%d,",a[i]);
	}
    printf("%d",a[j]);
	

}
void main()
{
	char str[300][50];
	int i=0,n,m;
	while(scanf("%s",str[i])!=EOF)
	{i++;}
	n=i;
	for(i=0;i<n;i++)
	{
		m=strlen(str[i]);
		if(i<n-1)
			printf("%d,",m);
		if(i==n-1)
			printf("%d",m);
	}
}
main()
{
      char S[N];
      int i,j,count=0,k,l[n];
      gets(S);
      for(i=0,j=0;;i++)
      {
                      if(S[i]!=' '&&S[i]!='\0')
                      count++;
                      else
                      {
                          if(count!=0)
                          {
                                      l[j]=count;                          }
                          if(j!=0&&count!=0)
                          {
                                  printf(",");
                          }
                          if(count!=0)
                          {
                                  printf("%d",l[j]);
                                  j++;count=0;
                          }
                      }
                      if(S[i]=='\0')
                      break;
      }
      getchar();
      getchar();
      return 0;
}
int main()
{
char s[1000],a[100][100];
int i,j=0,n=0,len;
gets(s);
len=strlen(s);
for(i=0;i<len;i++)
{
if(s[i]!=' '){
a[n][j]=s[i];
j++;
}else{
a[n][j]='\0';
n++;
j=0;
}
}
a[n][j]='\0';
for(i=0;i<n;i++)
{
if(strlen(a[i])!=0){
printf("%d,",strlen(a[i]));
}
}
printf("%d",strlen(a[n]));
return 0;
}
void main()
{char s[10000];
int n,i,sum,j;
gets(s);
n=strlen(s);
j=1;
for(i=0;i<n;i++)
{if(s[i]==' ') j=0;}
if(j) 
{printf("%d",n);}
else
{
for(sum=0,i=0;s[i]!='\0';i++)
 {if(s[i]!=' ')
{sum++;}
else if(s[i]==' '&&sum!=0)
{printf("%d,",sum);
sum=0;}
  }
for(sum=0,i=n-1;;i--)
{
if(s[i]==' '){break;}
else 
sum++;
}
printf("%d",sum);
}
}
void main()
{
	char s[1000];
	int n,m=0,i;
	gets(s);
	n=strlen(s);
         char *p=s;
	for(i=0;i<=n;i++,p++)
	{
		if(*p!=' ')
			m++;
	        if(*p==' '&&m!=0)
		{
			printf("%d,",m);
	                m=0;
		}
		if(*p=='\0')
			printf("%d",m-1);
	}
}
void main()
{
char string[30000],c;
int num[300]={0};
int i,n,k=0,j=0,l,word=0;
gets(string);
 
for(i=0;(c=string[i])!='\0';i++)
{
if(c==' ') {word=0;}
else
{
 if(word==0)
{j++;word=1;}
num[j]++;
}
}
for(l=1;l<j;l++)
printf("%d,",num[l]);
printf("%d",num[j]);

}
int main()
{
    char s[30000],zj[300][100];
    int i=0,k,t=0,len[300];
    gets(s);
    while(s[i]!='\0')
	{
       k=0;
       while(s[i]!=' '&&s[i]!='\0')
	   {
           zj[t][k]=s[i];
           k++;
           i++;
	   } 
       zj[t][k]='\0'; 
       while(s[i]==' ')
	   {
           i++;
	   }
       t++;
	}
    zj[t][k+1]='\0';
    for(i=0;i<t;i++)
	{
	  len[i]=strlen(zj[i]);
	}
	printf("%d",len[0]);
    for(i=1;i<t;i++)
	{
	  printf(",%d",len[i]);
	}
    return 0;
}
main()
{
   char str[100000];
   int a[300]={0};
   int i,j,k;
   gets(str);
   i=0;
   for(j=0;str[j]!='\0';j++)
      {
         if(str[j]!=' ')
         a[i]++;
         if(str[j]==' '&&str[j+1]!=' '&&str[j+1]!='\0')
         i++;
      }
   for(k=0;k<i;k++)
   printf("%d,",a[k]);
   printf("%d",a[i]);
}
int main()
{
	char str[10000],sz[300][30];
	gets(str);
	int i,j=0,k=0,tag,c;
	c=strlen(str);
	for(i=0;i<=c;i++)
	{
		if(str[i]!=' '){
			sz[j][k]=str[i];
			k++;
			tag=0;
		}
		else if((str[i]==' ')&&(tag==0))
		{
			sz[j][k]='\0';
			j++;
			k=0;
			tag=1;
		}
	}
	for(i=0;i<j;i++)
	{
		int a;
		a=strlen(sz[i]);
		printf("%d,",a);
	}
	int b;
	b=strlen(sz[j]);
	printf("%d",b);
	return 0;
}
int main()
{
	char w[10000];
	int s[10000]={0};
	int b=0,k=0;
	int i;
	int n=0;
	gets(w);
	n=strlen(w);
	for(i=0;w[i]!='\0';i++)
	{
		if(w[i]!=' ')
		{
			s[k]++;
		}
		if((w[i]==' ')&&(w[i+1]!=' '))
		{
			k++;
			b++;
		}
	}
	printf("%d",s[0]);
	for(k=1;k<=b;k++)
	{
	    printf(",%d",s[k]);
	}
	return 0;
}
void main()
{
	int i,n,l[400];
	char a[400][40];
	for(i=0;(scanf("%s",a[i]))!=EOF;i++)
		;
	n=i;
	for(i=0;i<n;i++)
		l[i]=strlen(a[i]);
	for(i=0;i<n;i++)
		if(i==0)
			printf("%d",l[i]);
		else
			printf(",%d",l[i]);


}
void main()
{
	char s[10000],c;
	int num[300]={0},i,j,k=0,flag=0,t=0;
	gets(s);
	for(i=0;(c=s[i])!='\0';i++)
	{
		if(s[i]!=' ')
		{
			if(flag==0)
			{
				flag=1;
				for(j=0;(c=s[i+j])!=' '&&(c=s[i+j])!='\0';j++)
                    num[k]++;
			}
        }
		else if(s[i-1]!=' ')
		{flag=0;k++;}
	    	else flag=0;
	}
	printf("%d",num[0]);
    for(i=1;i<=k;i++)
		printf(",%d",num[i]);
}
int main(){
   int n,i,j=0;
   char a[5000]; 
   gets(a);
   n=strlen(a);
   for(i=0;i<n;i++){
       if(a[i]!=' '){
           j++;
           if(i==n-1){printf("%d",j);}
       }
       else if(j!=0){
           printf("%d,",j);
           j=0;
       }
   }
return 0;
}
void main()
{
	char c[30];
	int k,i;
	scanf("%s",c);
	k=strlen(c);
	printf("%d",k);
	for(i=0;i<k;i++)
		c[i]='\0';

	while(scanf("%s",c)!=EOF)
	{
		k=strlen(c);
		printf(",%d",k);
		for(i=0;i<k;i++)
		c[i]='\0';
	}
}
int main(int argc, char* argv[])
{
	int i,n,a;
	char str[100];
	scanf("%s",str);
	printf("%d",strlen(str));

	while(scanf("%s",str)!=EOF)
	{
		a=strlen(str);
		printf(",%d",a);
	         char str[100];
	}	
	return 0;
}
void main()
{
	char a[1000],c,*p;
	int b[1000],i,j,n,m=0;
    gets(a);
	n=strlen(a);
	for(p=a;p<a+n;p++)
	{
		
		if(*p==' ') m=m+1;
	}
	j=0;
	for(i=0;i<=m;i++) b[i]=0;
	for(p=a;p<a+n;p++)
	{
		
		if(*p==' ') 
		{   
			j++;
			continue;
		}
		else
		{
			b[j]=b[j]+1;
		}
	}
	printf("%d",b[0]);
	for(i=1;i<=m;i++) 
	{
		if(b[i]!=0) printf(",%d",b[i]);
	}

    


}
int main()
{
    int i,j,m,k=0;
    char a[1000];
    gets(a);
    m=(int)strlen(a);
    a[m]=' ';
    for(i=0;i<=m;i++){
        if(a[i]!=' '){
            k=k+1;
        }else if(a[i]==' '&&a[i-1]!=' '&&i<m){
            printf("%d,",k);
            k=0;
        }else if(i==m){printf("%d",k);
        break;
        }
        else{continue;}
     }
    return 0;
}
void main()
{
	char a[100000];
	int i,c=0,m=0;
	gets(a);
	for(i=0;a[i]!='\0';i++)
		m++;
	for(i=0;i<m+1;i++)
	{
		if(a[i]!=' '&&a[i]!='\0')c++;
		if(a[i]==' '&&a[i-1]!=' '){printf("%d,",c);c=0;}
		if(a[i]=='\0'){printf("%d",c);c=0;}
	}
}
void main()
{
	char str[2048],*p;
	int i=0,k=0;
	gets(str);
	p=str;
	for(i=0;*(p+i)!='\0';i++)
	{
		if(*(p+i)==' ') k++;
	}
	if(k==0)
	{
		for(i=0;*(p+i)!='\0';i++) k++;
		printf("%d",k);
	}
	else
	{
	    k=0;
		for(i=0;*(p+i)!='\0';i++)
		{
		if(*(p+i)==' ') 
		{
			if(k!=0) 
			{
				printf("%d,",k);
				k=0;
			}
		}
		else 
			k++;
		
		}
	for(i=strlen(str)-1;;i--)
		if(*(p+i)==' ') 
		{
			printf("%d",strlen(str)-i-1);
			break;
		}
	}

	
}
char str[10000];

int main()
{
	int i,n,word,temp,start;
	gets(str);
	n=strlen(str);
	word=0;
	temp=0;
	start=0;
	for(i=0;i<n;i++)
	{
		if(str[i]!=' ')
		{
			word++;
			temp=0;
		}
		else if(temp==0)
		{
			if(start==0)
			{
				printf("%d",word);
				start++;
			}
			else printf(",%d",word);
			word=0;
			temp=1;
		}
	}
	if(start==0)
			printf("%d",word);
	else printf(",%d",word);	

	return 0;
}
int main ()
{
	char s[10000],b[300][100];
	int i,n,m,j=0,k=0,tag=0;
	int a[300];
	gets(s);
	n=strlen(s);
	for(i=0;i<n;i++)
	{
		if(s[i]!=' ')
		{
			b[j][k]=s[i];
			k++;
		}
		else if(s[i]==' ')
		{
			b[j][k]='\0';
			j++;
			k=0;
		}
	}
	tag=0;
	for (m=0;m<j+1;m++)
	{	
		a[m]=strlen(b[m]); 
		if(a[m]!=0)
		{ 	
			  if(m==0) 
			  {
			  	 printf("%d",a[m]);
			  	 tag=1;
			  }
	          else
	          {
	          	 if(tag==0) 
	          	 {
	          	 	 printf("%d",a[m]);
	          	 	 tag=1;
	          	 }
	          	 else  printf(",%d",a[m]);
	          } 
		}
	}
	return 0;
}
void main()
{
	char a[1001];
	gets(a);
	int l=strlen(a);
	int index=1,num[301]={0};
	int i,n=0;
	for(i=0;i<l;i++)
	{
		if(a[i]==' '&&index==0)
		{
			index=1;
			n++;
		}
		else if(a[i]!=' '&&index==1)
		{
			num[n]++;
			index=0;
		}
		else if(a[i]!=' '&&index==0)
			num[n]++;
		else index=index;
	}
	if(n==0)
		printf("%d",num[0]);
	else{
	for(i=0;i<n;i++)
		printf("%d,",num[i]);
	printf("%d",num[n]);
}
}
void main()
{
	char a[4000]={'\0'},b[800];
	int k=0,i,space=0;
	gets(a);
	for(i=0;i<800;i++)
		b[i]=0;
	for(i=0;a[i]!='\0';i++)
	{
		if(a[i]!=' ')
		{
			b[k]++;space=0;
		}
		else
		{
			space++;
			if(space==1)
				k++;
		}
	}
	for(i=0;i<=k;i++)
	{
		printf("%d",b[i]);
		if(i<k)
			printf(",");
	}
}
int main(){
	char zfc[6000];
	gets(zfc);
	int i, j, k=1,len, num[305], time=0, sum=0, sum2=0;
	len=strlen(zfc);
	num[0]=0;
	for(i=0;i<len;i++){
		if(zfc[i]==' '){
			sum=sum+num[k-1];
			time++;
			while(zfc[i+1]==' '){
				time++;
				i++;
			}
			num[k]=i-time-sum+1;
			k++;
		}
	}
	for(i=0;i<k;i++){
		sum2+=num[i];
	}
	num[k]=len-time-sum2;
	for(i=1;i<k;i++){
		printf("%d,", num[i]);
	}
	printf("%d", num[k]);
	return 0;
}
void main()
{
	char string[6000];
	int i,word=0;
	char c;
	gets(string);
	for(i=0;((c=string[i])!='\0');i++)
	{  if(c!=' ')
		{
			 if(string[i+1]!='\0')
			{word=word+1;
				}
			else if(string[i+1]=='\0')
			printf("%d",word+1);
			
		}
	else	if(c==' ')
	      {if(string[i-1]!=' ')  
	      {	printf("%d,",word);
	      	word=0;}
	      	else ;
	      }
	}
}
int main()
{
	char a[1000];
	int i,j,k;
	gets(a);
	k=strlen(a);
	for(i=0;a[i]==' ';i++);
	for(;i<k;)
	{
		if(a[i]!=' ')
		{
			for(j=i+1;a[j]!=' '&&j<k;j++);
			printf("%d",j-i);
			i=j;
		}
		else
		{
			for(j=i+1;a[j]==' '&&j<k;j++);
			printf(",");
			i=j;
		}
	}
	printf("\n");
	return 0;
}
void main()
{
	char c,d;
	int i,j;
	int len[300];
	i=0;
	j=0;
	d='\0';
	while((c=getchar())!='\n')
	{
		if(c!=' ')
			j++;
		else
			if(d!=' ')
			{
				len[i]=j;
				i++;
				j=0;
			}
		d=c;
	}
	len[i]=j;
	printf("%d",len[0]);
	for(j=1;j<=i;j++)
		printf(",%d",len[j]);
	printf("\n");
}
int main()
{
 char str[1000],word[300][20];
 int i,j=0,k=0,num[300];
 gets(str);
 for(i=0;i<strlen(str);i++)
 {
  if(str[i]!=' ')
  {
   word[j][k]=str[i];
      k++;
  }
  else
  {
   word[j][k]='\0';
   j++;
   k=0;
   while(true){
    if ( str[i+1] == ' ')
     i++;
    else
     break;
   }
  }
 }
 word[j][k]='\0';  
 j++;
 for(i=0;i<j;i++)
 {
  num[i]=strlen(word[i]);
 }
 printf("%d",num[0]);
 for(i=1;i<j;i++)
 {
  printf(",%d",num[i]);
 }
 return 0;
}
main()
{
	char c;
	int word=0,len,i,l=0,ans[300];
	while (1)
	{
		scanf("%c",&c);
		if (c!=' '&&c!='\n'&&word==0)
			{
				word=1;
				len=1;
			}
			else if ((c==' '||c=='\n')&&word==1)
			{
				word=0;
				ans[l++]=len;
			}
			else len++;
		if (c=='\n') break;
	}
	for (i=0;i<l;i++)
	{
		if (i!=0) printf(",");
		printf("%d",ans[i]);
	}
	printf("\n");
	return 0;
}
void main()
{
	int num=0,i=0,j=0;
	char s[1000]={0};
	gets(s);
line:while(s[j]!='\0')
	{
		while((s[j]!=' ')&&(s[j]!='\0'))
		{
			num++;
			j++;
		}
		if(num==0)
		{
			j++;
			goto line;
		}
		if(s[j]==' ')
			printf("%d,",num);
		if(s[j]=='\0')
			printf("%d",num);
		j++;
		num=0;
	}
}
void main()
{
	char s[1000];
	int i;
	gets(s);
	char *a,*b;
	a=b=&s[0];
	int n;
	n=strlen(s);
	s[n]='\0';
	for(i=0;i<n;i++)
	{
		a=a+1;
		if(*a==' '&&*(a-1)!=' ')
			printf("%d,",a-b);
		if(*(a-1)==' '&&*a!=' ')
			b=a;
		if(*a=='\0')
			printf("%d",a-b);
	}
}
int main()
{
	char s[N];
	int i,j,m;
	gets(s);
	for(i=0;i<N;i++){
		if(s[i]=='\0')
			break;
	}
	for(m=0,j=0;j<=i;j++){
		if(s[j]!='\0'&&s[j]!=' '){
			m++;
		}
	    else if(s[j]==' '){
			if(m!=0){
		        printf("%d,",m);
			    m=0;
			}
		}
		else if(s[j]=='\0'){
			printf("%d",m);
			break;
		}
	}
	return 0;
}
void main()
{
	char a[10000];
	int i,j=1,n=0,l,d=0;
	gets(a);
	l=strlen(a);
	for(i=0;i<l;i++)
	{
		if(a[i]!=' ')
		{
			if(n!=0)
			{
				d++;
				n=0;
			}
			else 
				d++;
		}
		else
			if(n==0)
			{
				printf("%d,",d);
				n++;
				d=0;
			}
	}
	printf("%d",d);
}
int main (){
    char zfc[10000];
    int i,n=0,a[300],m=0;
    gets(zfc);
    for(i=0;zfc[i]!='\0';i++){
        if(zfc[i]!=' '&&zfc[i+1]!='\0'){
            m+=1;
        }else if(zfc[i]==' '&&zfc[i-1]!=' '){
            a[n]=m;
            n+=1;
            m=0;
        }else if(zfc[i]==' '&&zfc[i-1]==' '){
            continue;
        }else if(zfc[i+1]=='\0'){
            a[n]=m+1;
        }
    }
    for(i=0;i<=n;i++){
        if(i<n){
        printf("%d,",a[i]);
        }else if(i==n){
            printf("%d",a[n]);
        }
    }
    return 0;
}
int main(){
	char a[1000],b[100],mid;
	int i,num[1000]={0},j,l1,l2,judge,count;
	count=0;
	gets(a);
	l1=strlen(a);
	for(i=0;i<l1;i++){
		if(a[i]!=' '){
			num[count]++;
		}else if(a[i]==' '&&a[i+1]!=' '){
			count++;
		}
	}
	for(i=0;i<=count;i++){
		printf("%d",num[i]);
		if(i!=count){
			printf(",");
		}
	}
	return 0;
}
int main()
{
	int m,n,i,j;
	scanf("%d",&m);
	int *a=(int*)malloc(m*sizeof(int));
	float b[100],f1=1,f2=1,f3;
	for (i=1;i<=m;i++)
	{
		scanf("%d",&a[i-1]);
		b[i-1]=0;
		for (j=1;j<=a[i-1];j++)
		{
			f3=f1+f2;
			b[i-1]+=f3/f2;
			f1=f2;
			f2=f3;
		}
	f1=1,f2=1,f3=0;
	}
	for (i=1;i<=m;i++)
	{printf("%.3f\n",b[i-1]);}
	
	
	
	
}
/*int main()
{
	int m,n;
	scanf("%d %d",&m,&n);
	double r=0.0;
	r=n*1.0/m;
	r=r*100;
	printf("%.3lf%%\n",r);
	return 0;
}*/


/*struct bingren
{
	char name[8];
	double tiwen;
	int kesou;
}bingren[100];
int main()
{
	int n,i=0,m=0;
	scanf("%d",&n);
	for(;i<n;i++){
		scanf("%s",bingren[i].name);
		scanf("%lf",&bingren[i].tiwen);
		scanf("%d",&bingren[i].kesou);
	}
	for(i=0;i<n;i++){
        if(bingren[i].tiwen>=37.5&&bingren[i].kesou==1){
				printf("%s\n",bingren[i].name);
				m++;
		}
	}
	printf("%d",m);
	return 0;
}*/
/*int main()
{
	int money;
	scanf("%d",&money);
	int a,b,c,d,e,f;
	a=money/100;
	b=(money-100*a)/50;
	c=(money-100*a-50*b)/20;
	d=(money-100*a-50*b-20*c)/10;
	e=(money-100*a-50*b-20*c-10*d)/5;
	f=(money-100*a-50*b-20*c-10*d-5*e)/1;
	printf("%d\n%d\n%d\n%d\n%d\n%d",a,b,c,d,e,f);
	return 0;
}*/
/*int main()
{
	int n,a,b,i;
	scanf("%d",&n);
	double sz[100];
	for(i=0;i<n;i++){
		scanf("%d%d",&a,&b);
		sz[i]=b*1.0/a;
	}
	for(i=1;i<n;i++){
		if((sz[i]-sz[0])>0.05)
		{
			printf("better\n");
		}
		else if((sz[0]-sz[i])>0.05)
		{
			printf("worse\n");
		}
		else
		{
			printf("same\n");
		}
	}
	return 0;
}*/
int main()
{
	int n,i,k,j,b,a;
	double sum=0.0;
	scanf("%d",&n);
	int geshu[100];

    //????
	for(i=0;i<n;i++)
	{
		scanf("%d",&k);
		geshu[i]=k;
	}

	//????
	for(i=0;i<n;i++)
	{
		for(j=0;j<geshu[i];j++)
		{
					//??????
	        int sz[100];
	        sz[0]=1;
 	        sz[1]=2;
	        for(b=2;b<geshu[i];b++)
			{
		        sz[b]=sz[b-1]+sz[b-2];
			}
	                //??????
	        int szz[100];
	        szz[0]=2;
	        szz[1]=3;
	        for(a=2;a<geshu[i];a++)
			{
		        szz[a]=szz[a-1]+szz[a-2];
			} 
			sum=sum+szz[j]*1.0/sz[j];
		}
        printf("%.3lf\n",sum);
		sum=0.0;
	}
	return 0;
}
double cal(int i,int n,double x)
{ double s;
  if (i==n)  return x;
  else{ s=1+1/cal(i+1,n,x);return s;}//1+1/cal(i+1,n,x);
}
int main()
{
	

	double x;int i,j,k,l, m,n,y;
   scanf("%d",&m);
   for (i=1;i<=m;i++)
   {scanf("%d",&y);
    x=0;for (j=0;j<=y-1;j++) x+=cal(0,j,2.0);
	printf("%.3lf\n",x);}

 
}
int main()
{
	int m;
	scanf("%d",&m);
	int sz[1000];
	int t;
	for(t=2;t<1000;t++){
		sz[0]=1;
		sz[1]=1;
		sz[t]=sz[t-1]+sz[t-2];
	}
	double szp[1000];
	for(t=0;t<1000;t++){
		szp[t]=0;
	}
	int i;
	for(i=1;i<=m;i++){
		int n;
		scanf("%d",&n);
		int j;
		for(j=2;j<=n+1;j++){
			szp[i]+=1.0*sz[j]/sz[j-1];
		}
	}
	for(i=1;i<=m;i++){
		printf("%.3lf\n",szp[i]);
	}
	return 0;
}
int main(){
	int n,bc[100],c[100],qnx,i,j;
	float sum;
	scanf("%d",&n);
	bc[0]=2;
	bc[1]=3;
	c[0]=1;
	c[1]=2;
	for(i=2;i<100;i++){
		bc[i]=bc[i-2]+bc[i-1];
		c[i]=c[i-2]+c[i-1];
	}
	for(i=0;i<n-1;i++){
		scanf("%d",&qnx);
		sum=0;
		for(j=0;j<qnx;j++){
			sum+=1.0*bc[j]/c[j];
		}
		printf("%.3f\n",sum);
	}
	scanf("%d",&qnx);
		sum=0;
		for(j=0;j<qnx;j++){
			sum+=1.0*bc[j]/c[j];
		}
		printf("%.3f",sum);


	return 0;
}
int main()
{
   int a[100]={0};
   double fib[100]={0.0};
   int m,i,j;
   double sum=0.00;

   scanf("%d",&m);
   
   for(i=1;i<=m;i++)
	   scanf("%d",&a[i]);

   fib[1]=1.0;

   for(i=2;i<=99;i++)
       fib[i]=fib[i-1]+fib[i-2];

   for(i=1;i<=m;i++)
   {
      for(j=1;j<=a[i];j++)
	  {
	    sum=sum+fib[j+2]/fib[j+1];	  
	  } 
	  printf("%.3f\n",sum);
	  sum=0;   
   }






return 0;
}
int main(){
    int m,sz[100],i,j;
    double a=1,b=2,sz1[100],d;
    scanf("%d",&m);
    for(i=0;i<m;i++){
        scanf("%d",&sz[i]);
    }
    for(i=0;i<m;i++){
        sz1[i]=0;
    }
    for(i=0;i<m;i++){
        for(j=0;j<sz[i];j++){
            sz1[i]+=(b/a);
            d=b;
            b+=a;
            a=d;
        }
        a=1;b=2;
    }
    for(i=0;i<m;i++){
        printf("%.3lf\n",sz1[i]);
    }
    return 0;
}
double f(int n)
{
	if(n==1)
	{
		return 2.0;
	}
	else
	{
		return 1/f(n-1)+1.0;
	}
}
int main()
{
	int a,i,m,j;
	double sum;
	scanf("%d",&a);
	for(i=0;i<a;i++)
	{
		sum=0.0;
		scanf("%d",&m);
		for(j=1;j<m+1;j++)
		{
			sum+=f(j);
		}
		printf("%.3lf\n",sum);
	}
	return 0;
}
int main()
{
	int m;
	scanf("%d",&m);
	for(int i=0;i<m;i++)
	    {
		int n;
		scanf("%d",&n);
		float *a=(float *)malloc((n+i)*sizeof(float));
		float *b=(float *)malloc((n+i)*sizeof(float));
		a[0]=1.0;
		a[1]=2.0;
		b[0]=2.0;
		b[1]=3.0;
		for(int j=2;j<n;j++)
		    {
			a[j]=a[j-1]+a[j-2];
			b[j]=b[j-1]+b[j-2];	
			}	
		float sum=0;
		for(int j=0;j<n;j++)
		    sum+=b[j]/a[j];
		printf("%.3f\n",sum);
		}
}
int main()
{
	int n,m,i,j;
	double s=0,a1,b1,a2,b2,a,b;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		s=0;
		scanf("%d",&m);
		a1=1;b1=2;
		a2=2;b2=3;
			s=s+b1/a1;
		for(j=0;j<m-1;j++){
			s=s+b2/a2;
			b=b2;
			b2=b2+b1;

			b1=b;
			a=a2;
			a2=a2+a1;
			a1=a;

	
		}
		printf("%.3lf\n",s);
	}



	return 0;
}
int main()
{
	float f(int j);
	int i,n,m,k;
	float s=0;
	scanf("%d\n",&m);
	for(k=0;k<m;k++)
	{s=0;
		scanf("%d",&n);
	    for(i=0;i<n;i++)
		
         s=s+f(i+3)/f(i+2);
         	printf("%.3lf\n",s);
			
	}
	

	return 0;
	
}
 float f(int j)
 { int c;
	 if (j==1||j==2)
		 c=1;
	 else c=f(j-1)+f(j-2);
	 return(c);
 }
//#define main xmain


int main()
{
    int i, j, n, m;
    double n1, n2, t, sum;
    scanf("%d", &m);
    for (j=0; j<m; j++) {
        sum = 0;
        n1 = 1;
        n2 = 2;
        scanf("%d", &n);
        for (i=0;i<n;i++) {
            sum += n2/n1;
            t = n1;
            n1 = n2;
            n2 = t + n2;
        }
        printf("%.3lf\n", sum);
    }
    return 0;
}


char mn[][200] = {
    "3\n"
    "5\n"
    "10\n"
    "20",
    
    "7\n"
    "13\n"
    "12\n"
    "11\n"
    "4\n"
    "5\n"
    "6\n"
    "7",

    "21\n"
    "1\n"
    "2\n"
    "3\n"
    "4\n"
    "5\n"
    "6\n"
    "7\n"
    "8\n"
    "9\n"
    "10\n"
    "11\n"
    "12\n"
    "13\n"
    "14\n"
    "15\n"
    "16\n"
    "17\n"
    "18\n"
    "19\n"
    "20\n"
    "11",
};

int xn = 0;

int max_files = sizeof(mn) / sizeof(mn[0]);

char * output_dir = "data";

void xbuild()
{
    printf(mn[xn]);
    xn++;
}
int main()
{
    int m,n,j,i;
    double x=2,y=1,a;
    double sum=0;
    scanf("%d",&m);
    for(i=0;i<m;i++){
      scanf("%d",&n);
      for(j=0;j<n;j++){
      sum=sum+x/y;
      a=x;
      x=a+y;
      y=a;
      }
      printf("%.3lf\n",sum);
      sum=0;
      x=2;
      y=1;
    }
    scanf("%d",&n);
    return 0;
}
double f(int n)
{ 
    if(n==0)
       return 1.000;
    else if(n==1)
       return 2.000;
    else
       return f(n-1)+f(n-2);
}
double g(int n)
{
        double z=0.000;
    for (int i=0;i<n;i++)
    {
        z=z+f(i+1)/f(i);
    }
    return z;
}
main()
{
    int m,n;
    scanf("%d",&m);
    for(int i=0;i<m;i++)
    {
            scanf("%d",&n);
            printf("%.3f\n",g(n));
    }
    getchar();
    getchar();
}
int main(){
    int n , m ;
	double sum , s[10000];
	s[1]=1;
	s[2]=2;
	for (int i=3 ; i<100 ; i++ ){
		s[i]=s[i-1]+s[i-2];
//		printf("%d %d\n",i , s[i]);
	}
	scanf("%d",&m);
	while(m--){
		scanf("\n%d",&n);
		sum=0;
		for (int i=1 ; i<=n ; i++ )sum+=s[i+1]/s[i];
		printf("%.3f\n",sum);
	}
	return 0;
}
int main()
{
	int i,n,e,j;
	double b=2,c,f,g=0,s[100];
	scanf("%d",&n);
	for(i=0;i<n;i++)
	{
		b=2;
		scanf("%d",&e);
		g=0;
		for(j=0;j<e;j++)
		{
			g=g+b;
			b=1+(1/b);
		}
		s[i]=g;
	}
	for(i=0;i<n;i++)
	{
		printf("%.3lf\n",s[i]);
	}
	return 0;
}
int main(int argc, char* argv[])
{
	int m,n,i;
	double a=1.0,b=1.0,c,sum=0.0;
	scanf("%d",&m);
	for(int j=0;j<m;j++)
	{
		scanf("%d",&n);
        a=1.0,b=1.0,c,sum=0.0;
	    for(i=1;i<=n;i++)
		{
	
		   a=a+b;
		   b=a-b;
	       c=a/b;
	       sum+=c;  
		}
       
		printf("%.3lf\n",sum);
	}
	    
	return 0;
}