semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void main()
{ int word=0,sum=0,i,j,a[301]={0};char c;
   for(i=0;(c=getchar())!='\n';i++)
    if (c==' ')word=0;
     else 
     {
       if(word==0)
       { word=1;sum=sum+1;j=sum;}
        a[j]=a[j]+1;
      }
    printf("%d",a[1]);
    if(sum>=2)
     for(i=2;i<=sum;i++)
    printf(",%d",a[i]);
}
int main(){
    int i,j;
	char a[1000];
	int b[300];
	gets(a);
	for(i=0;i<300;i++){
		b[i]=0;
	}
		j=0;
	    for(i=0;i<strlen(a);i++){
	    
			if(a[i]!=' '){
				b[j]++;
			}else{
                if(a[i+1]!=' ')
				{j++;}
			}
		}
	for(i=0;i<j+1;i++){
		if(i==j){
			printf("%d\n",b[i]);
		}else{
			printf("%d,",b[i]);
		}
	}
	
	return 0;
}
void main()
{
    char s[1000];
    int j=0,i=0,n,k;
    gets(s);
    n=strlen(s);
    while(i<n)
    {
    	if(s[i]!=' ')
    		{j=j+1;
    		 i=i+1;}
    	else if(j!=0)
                  {printf("%d,",j);
    		  k=j;
    		  j=0;
    		  i++;}
              else i++;
    }
    printf("%d",j);
}
void main()
{
	char c,str[3000];
	int i,j=0,k,n,a[300]={0};
	gets(str);
	n=strlen(str);
	for(i=0;i<n;i++){
		if(str[i]!=' ')
			a[j]++;
		if(str[i]==' ')
		{
			j++;
			for(k=i;k<n;k++)
				if(str[k]!=' ')
					break;
			i=k-1;
		}
	}
	for(i=0;i<=j;i++){
		if(i==j)
		printf("%d",a[i]);
		else
			printf("%d,",a[i]);
	}
}
int main()
{
	char a;
	int flag=0,len=0;
	do{
		a=getchar();
		if((a==' '||a=='\n')&&len!=0)
		{
			if(flag++)
			{	printf(",%d",len);
			len=0;
			}
			else
			{	printf("%d",len);
			    len=0;
			}
		}
		else if(a!=' '&&a!='\n') len++;
	}while(a!='\n');
	return 0;
}
void main()
{
char string[10000];
int i,num=0,word=0,a[300];
char c;
gets(string);
for (i=0;(c=string[i])!='\0';i++)
   if (c==' ') word=0;
   else {
	        if (word==0)
				 {
	           word=1;
	           num=num+1;
           	   a[num-1]=0;
				 }
           a[num-1]++;
   }
for (i=0;i<num-1;i++)
printf("%d,",a[i]);
printf("%d",a[num-1]);
}
int main()
{
    char a[10000];
    int i,s=0;
    gets(a);
    for (i=0;i<strlen(a);i++)
    {
        if (a[i]!=' ')
        s=s+1;
        else if (a[i]!=a[i-1])
        {
            printf("%d",s);
            if (i+1<strlen(a)) printf(",");
            s=0;
        }
    }
    printf("%d",s);

    return 0;
}
int main(){
    char wd[300][20],m;
	int len[300],i,j,k,tag=0;
	for(i=0;;){
		k=0;
		while((m==' ')||(m=='?')||(m==',')||(m=='!')){
			scanf("%c",&m);
		}
		wd[i][k]=m;
		for(k=1;;){
			scanf("%c",&m);
			if(m==' '){
				wd[i][k]='\0';
				len[i]=k;
				break;
			}
			else if(m=='\n'){
				wd[i][k]='\0';
				tag=1;
				len[i]=k;
				break;
			}
			else{
				wd[i][k]=m;
				k++;
			}
		}
		if(tag==1){
			break;
		}
		i++;
	}
	printf("%d",len[0]-1);
	for(j=1;j<=i;j++){
		printf(",%d",len[j]);
	}
	return 0;
}
int main()
{
    char a[6000]={0};
    int b[300]={0};
    b[0]=-1;
    int i=0;
    int k=0;
    gets(a);
    int len=strlen(a);
    for(i=0;i<len;i++){
                         if(a[i]!=' '){
                                    k=k+1;}
                         else if(a[i]==' '&&k!=0){
                              printf("%d,",k);
                         k=0;}
   }
   printf("%d",k);
   return 0;
}
void main()
{
 int n,t=1,i,j,a[10000];
 char c[100000];
 gets(c);
 for (i=0;c[i]!=' '&&c[i]!='\0';i++)
 a[0]=i+1; 
 for (i=1;c[i]!='\0';i++)
    {
     if (c[i-1]==' '&&c[i]!=' ')
	 {for (j=i;c[j]!=' '&&c[j]!='\0';j++)
	 {
	 }      
	   a[t]=j-i;
	   t++;}
    }
 for (i=0;i<t-1;i++)
    { printf ("%d,",a[i]);}
printf ("%d",a[t-1]);
}
int main(){
	char z[20000];
	int i,j=0,k;
	int s[30000];
	int n;
	gets(z);
	
	n=strlen(z);
	if(z[0]==' ')
	{
		for(i=1;i<n;i++)
		{
			if(  (z[i-1]==' ')  &&  (z[i]!=' ')   )
			{
				j++;
				s[j]=0;
				for(k=i;k<n;k++)
				{	
					s[j]++;
					if((z[k]!=' ')&&(z[k+1]==' '))
					{
						break;
					}
					
				}
			}
		}
	}
	if(z[0]!=' ')
	{
		for(i=0;i<n;i++)
		{
			if(  (i==0)||((i>0)&&(z[i-1]==' ')&&(z[i]!=' '))    )
			{
				j++;
				s[j]=0;
				for(k=i;k<n;k++)
				{	
					s[j]++;
					if((z[k]!=' ')&&(z[k+1]==' '))
					{
						break;
					}
					
				}
			}
		}
	}
				
	for(i=1;i<=j-1;i++)
	{
		printf("%d",s[i]);
		printf(",");
	}
	printf("%d",s[j]);
	
	
	
	
	return 0;
}
void main()
{
	char word[10000],str[300][100];
	int i,j,k,l,num[300],m;
	j=k=m=0;
	gets(word);
l=strlen(word);
for(i=0;i<l;i++)
{
if(word[i]==' '&&m!=0)
{
		str[k][j]='\0';
	k++;
	j=0;
m=0;
continue;	}
else if(word[i]==' '&&m==0)continue;
else if(word[i]!=' '){str[k][j]=word[i];
j++;m=1;}
}
for(i=0;i<=k;i++)
num[i]=strlen(str[i]);
j=0;
for(i=0;i<=k;i++)
{if(j==0){printf("%d",num[i]);j=1;}
else printf(",%d",num[i]);}
}
int main()
{
char str[999],temp[300];
int len,k=0,j,i=0,a,b,c;
gets(str);
len=strlen(str);
for(j=0;j<=len;j++)
{
   if(str[j]==' ')
   {
     while(i<j)
     {
     temp[k]=str[i];
     i++;
     k++;
     }
     temp[k]='\0';
     i++;
     a=strlen(temp);
     if(a!=0)
     printf("%d,",a);
     k=0;
   }
   if(str[j]=='\0')
   {
     while(i<j)
     {
     temp[k]=str[i];
     i++;
     k++;
     }
     temp[k]='\0';
     a=strlen(temp);
     printf("%d",a);
   }
}
return 0;
}
main()
{

    int i=0;
    char a[100];
	while(scanf("%s",a)!=EOF)
	{if(i==0){printf("%d",strlen(a));i++;}
	 else printf(",%d",strlen(a));
	}
}
void main()
{
	char c[2000];
	int a[50];
	int ci,i,j,k,n,len;
	for(k=0;k<=40;k++)a[k]=0;
	gets(c);
	len=strlen(c);
	c[len]=' ';
	ci=1;
	j=1;
	for(i=1;i<=len;i++)
	{
		if(c[i-1]!=' '&&c[i]!=' ')
		{
			j=j+1;
		}
		else if(c[i-1]==' '&&c[i]!=' ')
		{
			ci=ci+1;
			j=1;
		}
		else if(c[i-1]!=' '&&c[i]==' ')
		{
			a[ci]=j;
		}
		
	}

for(i=1;i<=ci-1;i++)printf("%d,",a[i]);
printf("%d\n",a[ci]);
}
int main()
{
	char str[999999];
	gets(str);
	int len=strlen(str);
	int i,n=0,k=0;
    char words[300][100];
	for(i=0;i<len;i++)
	{
		if(str[i]!=' ')
		{
			words[n][k]=str[i];
			k++;
		}
		else if(str[i-1]!=' '&&str[i]==' ')
		{
			words[n][k]='\0';
		    n++;
			k=0;
		}
	}
	words[n][k]='\0';
	for(i=0;i<n;i++)
	{
		printf("%d,",strlen(words[i]));
	}
	printf("%d",strlen(words[n]));
	return 0;
}
int main(){
  char a[800];
  gets(a);
  int i,j,z[300];
  z[0]=0;
  for(i=0,j=0;a[i]!='\0';i++){
     if(a[i]==' '){
        if(a[i+1]!=' '){
            j++;
            z[j]=0;
     }
    }else{
      z[j]++;
    }
  }
  for(i=0;i<j;i++){
      printf("%d,",z[i]);
  }
  printf("%d",z[j]);
  return 0;
}
void main()
{
	char a[1000];
	int l,i,b[1000]={0},t=0;
	gets(a);
	l=strlen(a);
	for(i=0;i<l;i++)
	{
		if(a[i]!=' ')
		{
			b[t]++;
		}
		else if(a[i-1]!=' ')
		{
			t++;
		}
	}
	for(i=0;i<=t;i++)
	{
		if(i>0)
			printf(",");
		printf("%d",b[i]);
	}
}
int main()
{
    char zfc[NUM*LEN],z1[100],z2[100];
    char c[NUM][LEN];
    int i,j,k,n,p,count,count1,count2,count4,count3[50];
    int num1,num2,d=0;
    gets(zfc);
	count=0;
	for(k=0;;)
		{
            if(zfc[count]!=' '&&zfc[count]!=0)
			{
                c[0][k]=zfc[count];
                count++;
                k++;
            }
			else
			{
                c[0][k]=0;
                count++;
                k++;
                break;
            }
        }
		if(k-1!=0)printf("%d",k-1);
	for(i=1;;i++)
	{
        for(k=0;;)
		{
            if(zfc[count]!=' '&&zfc[count]!=0)
			{
                c[i][k]=zfc[count];
                count++;
                k++;
            }
			else
			{
                c[i][k]=0;
                count++;
                k++;
                break;
            }
        }
		if(k-1!=0)printf(",%d",k-1);
        if(zfc[count-1]==0){
            break;
        }
    }
   return 0;
}
void main()
{
	char a[10000]={""},b[50]={""};
	int num=0,w,i=0,j=0,k=0;
	gets(a);
	w=0;
	while(a[i])
	{
		if((a[i]!=' ')&&(w=0))
		{
			

			b[j]=a[i];w=1;
		}
		else
		{
			if((a[i]!=' ')&&(w=1))
			{
				j++;
				b[j]=a[i];w=1;
			}
			else
			{
				if(a[i]==' ')
				{
					
					if((k==0)&&(w==1))
					{
						printf("%d",j);
					}
					else
					{
						if((k==1)&&(w==1))

							printf(",%d",j);
					}
					w=0;k=1;j=0;
				}
			}
		}
		i++;
	}
	if((k==0)&&(w==1))
					{
						printf("%d",j);
					}
					else
					{
						if((k==1)&&(w==1))

							printf(",%d",j);
					}
}
int main()
{
	int i,s=0,k=1,flag=0;
	char str[10000];
	gets(str);
	for (i=0;i<=strlen(str)-1;i++)
	{
		if (str[i]!=' ') {s++;flag=0;}
		if (str[i]==' ' && flag==0) {printf("%d,",s);s=0;flag=1;}
	}
	printf("%d",s);
}
void main()
{
    int a[300],i,j=0,l,t=0;
	char line[1200];
	gets(line);
	l=strlen(line);
	for(i=0;i<l;i++)
	{
		if(line[i]!=' ')
           j++;
		if((line[i]==' ')&&(line[i+1]!=' '))
		{
		t++;
		a[t]=j;
		j=0;
		}
	}
for(i=1;i<=t;i++)
{
	printf("%d,",a[i]);
}
printf("%d",j);
}
int main()
{
	char a[9000];
	int len,num=0,i,j,k,word=0;
	gets(a);
	len=strlen(a);
	for(i=0;i<len;i++)
	{
		if(a[i]==' ')
		{
			if(num!=0)
			{
			printf("%d",num);word++;
			num=0;
			break;
			}
		}
		else
		{
			num++;
		}
	}
	for(i=i+1;i<len;i++)
	{
		if(a[i]==' ')
		{
			if(num!=0)
			{
			printf(",%d",num);word++;
			num=0;
			}
		}
		else
		{
			num++;
		}
	}
	if(num!=0)
	{
		if(word==0)
			printf("%d",num);

			else
		printf(",%d",num);
	}

}
int main()
{
	char zfc[300*50];
	int wl[300];
	int w=0;
	int i,j;
	gets(zfc);
	for(i=0;zfc[i]!=0;i++){
		if(zfc[i]!=' '){
			for(j=i+1;zfc[j]!=0&&zfc[j]!=' ';j++);
			wl[w]=j-i;
			w++;
			if(zfc[j]==0)
				break;
			else
				i=j;
		}
	}
	printf("%d",wl[0]);
	for(i=1;i<w;i++)
		printf(",%d",wl[i]);
	return 0;
}
void main()
{
	char str[10000];
	int i,j=0,len[300],add=0,flag;
	for(i=0;i<300;i++)
		len[i]=0;
	gets(str);
	if(str[0]!=32)
	{
		flag=1;
		add++;
		for(i=1;i<strlen(str);i++)
		{
			if(str[i]!=32&&i<strlen(str)-1)
			{
				add++;
				flag=1;
			}
			else if(str[i]!=32&&i==strlen(str)-1)
			{
				add++;
				len[j]=add;
				flag=0;
				add=0;
			}

			
			else if((str[i]==32)&&flag)
			{
				len[j]=add;
				flag=0;
				add=0;
				j++;
			}
			
		}
	}
	else
	{
		flag=0;
		for(i=1;i<strlen(str);i++)
		{
			if((str[i]!=' ')&&flag)
				add++;
			else if((str[i]!=' ')&&(flag==0))
			{
				flag=1;
				add++;
			}
			else if((str[i]==' ')&&flag)
			{
				len[j]=add;
				flag=0;
				add=0;
				j++;
			}
			else {}
		}
	}
	
	printf("%d",len[0]);
	for(i=1;len[i];i++)
		printf(",%d",len[i]);

}
void main()
{
	int f(char *p,int x);
	char s[10000];
	int i,j=0,temp;
	gets (s);
	for(i=0;s[i]!=' '&&s[i]!='\0';i++)
	{j++;}
	printf("%d",j);
	for(i=j;s[i]!='\0';i++)
	if(s[i]==' '&&s[i+1]!=' ')
	{temp=f(s,i+1);printf(",%d",temp);}
}

int f(char *p,int x)
{
	int n;
	n=0;
	p=p+x;
	while(*p!=' '&&*p!='\0')
	{n++;p++;}
	return n;
}
char zfc[300][100];
int main()
{
	int i=0,len,len2=0;
	gets(zfc[1]);
	len=strlen(zfc[1]);
	while(i<len+1)
	{
		
		if(zfc[1][i]!=32)
		{
			len2+=1;
			i++;
		}
		else if(len2!=0)
		{
			printf("%d"",",len2);
			i++;
			len2=0;
		}
		else if(len2==0)
		{
			i++;
		}
		if(zfc[1][i+1]=='\0')
		{
			printf("%d",len2+1);
			break;
		}
	}
	return 0;
}
int main()
{
	int i,len[300];
	char s[300][100];
	for(i=0;i<300;i++)
		scanf("%s",s[i]);
	for(i=0;i<299;i++){
		len[i]=strlen(s[i]);
		if(strcmp(s[i+1],"\0")>0)
			printf("%d,",len[i]);
		if(strcmp(s[i+1],"\0")==0){
			printf("%d",len[i]);
			break;
		}
	}
	return 0;
}
void main()
{
	char *p;
	int i,j,k,r,s,*a,b[300];
	p=(char*)malloc(2000*sizeof(char));
	a=(int *)malloc(100*sizeof(int));
	gets(p);
	
	for(i=0,j=0;*(p+i)!='\0';i++)
	{
		if((i==0)||(*(p+i-1)==' ')&&(*(p+i)!=' '))
		{
			for(*(a+j)=0;(*(p+i)!=' ')&&(*(p+i)!='\0');i++)
			{
				*(a+j)=*(a+j)+1;

			}
			j=j+1;
			i=i-1;
		}
		s=j;
	//	printf("%d ",*(a+j-1));

	}
	//printf("%d\n",s);
	for(k=0;k<s-1;k++)
	{
		printf("%d,",*(a+k));
	}
	printf("%d",*(a+s-1));
}
int main()
{
   char str[300][10],c;
   int num[300],n,i;
   scanf("%s",str[0]);
   num[0]=strlen(str[0]);
   for(i=1;c=getchar()!='\n';i++)
   {
      scanf("%s",str[i]);
      num[i]=strlen(str[i]);
    }
    n=i;
    printf("%d",num[0]);
    for(i=1;i<n;i++)
    {
      printf(",%d",num[i]);
     }
}
void main()
{
	int i=0,k=0,b[300],n,c[300];
	char a[3000];
	gets(a);
	n=strlen(a);
	c[0]=-1;
	for(i=0;i<n;i++)
	{
		if(a[i]!=' '&&a[i+1]==' ') {b[k]=i-c[k];k++;}
		if(a[i]==' '&&a[i+1]!=' ') c[k]=i;
	}
	b[k]=n-c[k]-1;
	for(i=0;i<k;i++) printf("%d,",b[i]);
	printf("%d\n",b[k]);
}
void main()
{
int n[301];
int j,i=0,f=0;
for(j=0;j<301;j++) n[j]=0;

char c;
scanf("%c",&c);
while(c!='\n')
{if(c!=' ') {n[i]++;f=1;}
else if(c==' '&&f) {i++;f=0;}
scanf("%c",&c);}
printf("%d",n[0]);
for(j=1;j<=i;j++) printf(",%d",n[j]);
printf("\n");
}
int lon(char a[])
{
	int i,n=0;
	for(i=0;a[i]!='\0';i++)
		n++;
	return(n);
}
void main()
{
	char a[1000]={'\0'},b[200][200]={'\0'};
   int i,j=0,k=0;
    gets(a);
    for(i=0;i<lon(a);i++)
	{  
      if(a[i]!=' ')
	  {  if(a[i-1]!=' ')
		{b[j][k]=a[i];k++;}
		  else
		  {j++;b[j][k]=a[i];k++;}
	  }
      else{k=0;}  
	 }
	for(i=0;i<j;i++)
		printf("%d,",lon(b[i]));
	printf("%d",lon(b[j]));
}
int main(){
 int k,i,j=0,m=0;
 int s[300];
 char sz[3000];
  k=strlen(sz);
    gets(sz);
for(i=0;sz[i]!=0;i++){
if(sz[i]!=32)
m++;
else{
s[j]=m;
if(m!=0) j++;
m=0;
 }
  }
s[j]=m;
for(i=0;i<j;i++){
printf("%d,",s[i]);
}
printf("%d",s[j]);
return 0;
   }
int main()
{
    int l,i,k=0,p[320]={0},q[320]={0};
    char  s[9999],t[9999];
    gets(s);
    l=strlen(s);
    for(i=1;i<l+1;i++)
       {
          t[i]=s[i-1];             
       }
    t[0]=' ';
    t[l+1]=' ';   
    for(i=1;i<l+1;i++)
       {   
           if(t[i]!=' '&&t[i-1]==' ')
             {
                p[k]=i-1;
                k++;
             }            
       }
       k=0;
     for(i=1;i<l+2;i++)
       {
          if(t[i]!=' '&&t[i+1]==' ')
             {
                 q[k]=i;
                 k++;        
             }                
       }  
     for(i=0;i<k-1;i++)
       {
          printf("%d,",q[i]-p[i]);            
       }
     printf("%d\n",q[k-1]-p[k-1]);      
    return 0;    
}
int main()
{
	char s1[1000];
	cin.getline(s1,999);
	char s2[300][100];
	int i,j,l=0,n=0;
	int len;
	len=strlen(s1);
	for(i=0;i<=len;i++)
	{
		if(s1[i]!=' '&&s1[i]!='\0')
		{
			s2[l][n]=s1[i];
		    n++;
		}
		if(s1[i]==' '||s1[i]=='\0')
		{
			s2[l][n]='\0';
			l++;
			n=0;
		}
	}
	int sz[300];
	for(j=0;j<l;j++)
	{
		sz[j]=strlen(s2[j]);
		if(sz[j]!=0)
		{
		cout<<sz[j];
		if(j<l-1)
			cout<<",";
		}
	}
	
	
	


    
	return 0;
}
int main()
{
	char a[3000];
	int b[300],c[300]={0};
	gets (a);
	int i,j,k,l,m,n;
	l=strlen (a);
	b[0]=-1;
	m=1;
	n=0;
	for(i=0;i<l;i++)
	{
		if(a[i]==' ' && a[i-1]!=' ')
		{
			b[m]=i;
			c[n]=c[n]+b[m]-b[m-1]-1;
			m++;
			n++;
		}
		if(a[i]==' ' && a[i-1]==' ')
		{
			c[n]--;
		}
	}
	b[m]=l;
	c[n]=c[n]+b[m]-b[m-1]-1;
	for(i=0;i<n;i++)
	{
		printf("%d,",c[i]);
	}
	printf("%d",c[n]);
	return 0;
}
int main()
{
	int i,x,n;
	char str[10000],c;
	gets(str);
	n=strlen(str);
	x=0;
	for(i=0;i<=n;i++)
	{
		if(str[i]==' '||str[i]=='\0')
		{
			while(str[i+1]==' ')
				i++;
			printf("%d",x);
			if(str[i]!='\0')
			{	printf(",");
			x=0;}
		}
		else
			x=x+1;
	}
	return 0;
}
void main()
{
  int i,n,x,p,q,j;
  int a[400];
  char s[10000];
  gets(s);
  x=strlen(s);
  p=1;
  a[0]=-1;
  for (i=1;i<=x-1;i++)
  {
   if (s[i]==32)
   {
    a[p]=i;
    p=p+1;
   }
  }
  for (i=1;i<=p-1;i++)
  {
	  if ((a[i]-a[i-1]-1)!=0)
    printf("%d,",a[i]-a[i-1]-1);  
  }
  printf("%d",x-a[p-1]-1);
}
int main ()
{
	char s[10000];
	gets(s);
	int i,count;
	count=0;
	i=0;
	while(s[i]!=' '&&s[i]!='\0')
	{
		i++;
		count++;
	}
	printf("%d",count);
	while(s[i]!='\0'&&s[i]!='\0')
	{
		if(s[i]!=' ')
		{
			count=0;
		    while(s[i]!=' '&&s[i]!='\0')
			{
			   count++;
			   i++;
			}
			printf(",%d",count);
		}
		else
		{
			i++;
		}
	}
	return 0;
}
void main()
 {
	char a[20],b;
	scanf("%s",a);
	printf("%d",strlen(a));
	b=getchar();
	if (b==' ')
	{
	for (;;)
	{
		scanf("%s",a);
		printf(",%d",strlen(a));
		b=getchar();
		if (b!=' ') break;
	}
	}
 }
int check (char c)
{
	int r;
	if(c!=' ') r=0;
	else r=1;
	return r;
}

void main()
{
	int check( char c);
	char *p;
	char a[1024];
	char word[100][100];
	int i=0,j=0,k;
	gets(a);
	p=a;
	while(*p)
	{
		while(check(*p)&&p!='\0')
			p++;
		if(*p=='\0') break;
		sscanf(p,"%[!-?0-9:-@A-Za-z']",word[i]);//??????????
		for(j=0;word[i][j]!='\0';j++);//word??????
		p+=j;
		i++;
		
	}
	for(j=0;word[0][j]!='\0';j++);//j????
	   printf("%d",j);
	for(k=1;k<i;k++)
	{
		for(j=0;word[k][j]!='\0';j++);
		printf(",%d",j);
	}

	

}
int main()
{
	char str[300][100];
	int i, l, n;
	for (i = 0;;i++)
	{
		scanf("%s",str[i]);
		if (str[i][0] == '\0')
			break;
		l = strlen(str[i]);
		if (i == 0)
		{
			printf("%d",l);
		}
		else printf(",%d",l);
	}
	
	return 0;
}
void main()
{
	char s[5000];
	gets(s);
	int a,b,c,d=0,e,s1[500];
	a=strlen(s);
	b=0;
	for(c=0;c<a;c++)
	{
		if(s[c]==' ')
		{s1[d]=b;d++;
		b=0;
		}
		else
		{b++;}
	}
	for(e=0;e<d;e++)
	{
		if(s1[e]!=0)
			printf("%d,",s1[e]);
	}
	printf("%d",b);
}
int main()
{
    char s[100];
    char i=0;
    scanf("%s",&s);
    i=strlen(s);
    printf("%d",i);
    while(scanf("%s",&s)!=EOF)
    {
        i=strlen(s);
        printf(",%d",i);
    }
    getchar();
    getchar();
}
void main()
{
	int s=0,i,n;
	char *p;
	char a[10000];
	p=a;
	gets(p);
	n=strlen(p);
	for(i=0;i<n;i++)
	{
		if((*(p+i)!=' ')&&(*(p+i)!='\0'))s=s+1;
		if((*(p+i)==' ')&&(*(p+i)!='\0')){if(s>0)printf("%d,",s);s=0;}
		if(*(p+i)=='\0')break;
	}
	printf("%d",s);
}
int main()
{
	char zfc[10000],zu[500][50];
	int len[500],i,j=0,k=0;
	gets(zfc);
	for(i=0;i<=strlen(zfc);i++)
	{
		if(zfc[i]==' ')
		{
			zu[j][k]='\0';
			j++;
			k=0;
		}
		else
		{
			zu[j][k]=zfc[i];
			k++;
		}
	}
	for(i=0;i<j+1;i++)
	{
		len[i]=strlen(zu[i]);
	}
	for(i=0;i<j;i++)
	{
		if(len[i]!=0)
		{
		   printf("%d,",len[i]);
		}
	}
	printf("%d",len[j]);
	return 0;
}
void main()
{
	char str[20000];
	int i,count=0,flag=0;
	for(i=0;i<20000;i++)
		str[i]='\0';
	gets(str);
    for(i=0;i<20000;i++)
	{
		if(str[i]!=' '&&str[i]!='\0') count++;
		else 
		{ 
			if(count!=0)
			{
				flag++;
				if(flag==1) printf("%d",count);
	    	    else printf(",%d",count);
			}
           count=0;
		}
	}
}
int main ()
{
	char zfc[2000];
	gets(zfc);
	int c;
	c=strlen(zfc);

	int i,k=1;
	int kong[200];
    kong[0]=0;
	for(i=0;i<c;i++)
	{
	    if(zfc[i]==' ')
		{
		    kong[k]=i;
		    k++;
		}
	}

    if(k==1)
	{
	printf("%d",c);
	}
	else
	{
	int len[200];
	
	len[0]=kong[1];

	for(i=1;i<k-1;i++)
	{
	    len[i]=kong[i+1]-kong[i]-1;
	}
    len[k-1]=c-kong[k-1]-1;
	
    
	int xlen[200],x=0;
	for(i=0;i<k;i++)
	{
	    if(len[i]!=0)
		{
		    xlen[x]=len[i];
			x++;
		}
	}
   
	printf("%d",xlen[0]);
   for(i=1;i<x;i++)
   {
   printf(",%d",xlen[i]);
   }
    }
   return 0;
}
int main()
{
	char zfc[50];
	int a,b,c;
	int i,j,k;
	j=0;
		while(scanf("%s", zfc)!=EOF) 
		{
		if(j!=0)
		{printf(",");}
		printf("%d",strlen(zfc));
		j++;
		}
		
		
			
	
	return 0;
}
int main()
{
    char s[10000], subs[300][30];
    int i=0, j, k, len[300];
    gets(s);
    for(j=0;;j++)
    {
        for(k=0;;)
        {
            if(s[i]!=' '&&s[i]!=0)
            {
                subs[j][k]=s[i];
                i++;
                k++;
            } 
            else if(s[i]==' '&&s[i+1]!=' '||s[i]==0)
            {
                subs[j][k]=0;
                i++;
                break;
            }
            else
            {
                i++;
            }  
        } 
        if(s[i-1]==0)
        {
            break;
        } 
    }
    for(k=0;k<=j;k++)
    {
        len[k]=strlen(subs[k]);
    }
    printf("%d", len[0]);
    for(k=1;k<=j;k++)
    {
        printf(",%d", len[k]);
    }
    scanf(" ");
    return 0;
}
int main()
{
    int n,s=0,i,m;
    char a[A];
    gets(a);
	n=strlen(a);
	for(i=0;i<n;i++)
	{
		m=0;
		if(a[i]==' ') continue;
		else                                 
		{
			if(s!=0) printf(",");
			for(;i<n;i++)
			{
			
			
				if(a[i]==' ') 	{printf("%d",m);s=1;break;}  
				if(i==n-1) {printf("%d",m+1);s=1;break;}  
				m++;   
			}
		}
	}
	return 0;
}
void main()
{
	char str[100000];
	int n,a[300],i,j,k,l,m,len;
	n=0;
	k=0;
	for(i=0;i<=300;i++) a[i]=0;
	gets(str);
	len=strlen(str);
	for(i=0;i<=len;i++)
	{
		if (str[i]==' ')
		{
			if (k!=0) 
			{
			    n++;
			    k=0;
			}
		}
		else
		{
			a[n]++;
			k=1;
		}
	}
	if (a[n]==0) l=1;
	else l=0;
	for(i=0;i<n-l;i++) printf("%d,",a[i]);
	printf("%d",a[n-l]-1);
}
int main()
{
    int num=0,i;
    char a[10000];
    gets(a);
    for(i=0;i<strlen(a);i++)
    {
        if(a[i]!=' ')
        {
            num++;
            if(i==strlen(a)-1)
            {
                printf("%d",num);
            }
        }
        else if(a[i]==' '&&a[i+1]!=' ')
        {
            printf("%d,",num);
            num=0;
        }
    }   
   return 0;
}
void main()
{
	char s[9000];
	int i=0,t=0,j=0;
	gets(s);
	while(s[i]!='\0')
	{
	     if(s[i]!=' ')
			 j++;
		 else
		 {
			 if(j!=0)
			    printf("%d,",j);
			 j=0;
		 }
		 i++;
	}
	
	printf("%d",j);
}
int main()
{
    char a[10000];
	int i,j,l;
	gets(a);
	for(i=0;i<strlen(a);)
	{
		if(a[i]!=' ')
		{
			l=0;
			for(j=0;j<strlen(a);j++)
			{
				if(a[i+j]!=' ')
				{
					l++;
				}
				if((a[i+j]==' ')&&((i+j)!=(strlen(a)-1)))
				{
				    printf("%d,",l);
					break;
				}
				if((i+j)==(strlen(a)-1))
				{
					printf("%d",l);
					break;
				}
			}
			i=i+l;
		}
		else
			i++;
	}
	return 0;
}
int ss=0;
void check(char *ps)
{
	static int k,m;             //k:lengh of word   ;  m:former-0->' '//
	if(*ps==' '||*ps=='\0')
	{
		if(m==1)
		{
			m=0;
			if(ss==0)
			{
				ss=1;
				printf("%d",k);
			}
			else
				printf(",%d",k);
		m=0;
		k=0;
		}
		if(*ps=='\0')
			return;
	}
	else
	{
		m=1;
		k++;
	}
	check(ps+1);
}
				

main()
{
	char *p;
	p=(char*)malloc(10000*sizeof(char));
	gets(p);
	check(p);
}
char s[100000];
int main()
{
	int l,i,start,end;
	gets(s);
	l=strlen(s);
	start=0;
	end=0;
	while(1)
	{
		for(i=start;i<l;i++)
		{
			if(s[i]==' ')
			{
				end=i;break;
			}
			if(i==(l-1))
			{
				end=l;break;
			}
		}
		if(start==0) printf("%d",end);
		else printf(",%d",end-start);
		if(end==l) break;
		for(i=end;;i++)
		{
			if(s[i]!=' ')
			{
				start=i;break;
			}
		}
		end=start;
	}
	return 0;
}
void main()
{
	char c;
	int len;
	char a[100];
	int flag=0;
	while(1)
	{
		scanf("%s",a);
		len=strlen(a);
		if(flag==0)
		{
			flag=1;
			printf("%d",len);
		}
		else if(flag==1)
		{
			printf(",%d",len);
		}
		c=getchar();
		if(c=='\n')
			break;
	}
}
int main(){
    char str[10000];
    int i,a,n,b;
a=0;
b=0;
gets(str);
n=strlen(str);
for(i=0;i<n;i++){
    if(str[i]==' '){
        b=1;
    }
}
if(b==1){
for(i=0;str[i]!='\0';i++){
      if(str[i]!=' '){
      a=a+1;
      }
      else if((str[i]==' ')&&(str[i+1]!=' ')){
          printf("%d,",a);
          a=0;
      }
    }
a=0;
for(i=n-1;str[i]!=' ';i--){
        a=a+1;
    }
    printf("%d",a);
}
else if(b==0){
    printf("%d",n);
}
    return 0;
}
int main()
{
	char s[10000],q[2]=" ";
	int i,e=0,j=0,a[300],k=0;
	gets(s);
	strcat(s,q);
	for(i=0;s[i]!='\0';i++){
		if(s[i]!=' '){
			j++;
			e=0;
		}else{
			e++;
			if(e==1){
				a[k]=j;
				k++;
			}
			j=0;
		}
	}
	for(i=0;i<k-1;i++){
        printf("%d,",a[i]);
	}
	printf("%d",a[k-1]);
	return 0;
}
int read(char x[])
{
	int i,len,num=0;
	len=strlen(x);
	for(i=len-1;i>=0;i--)
	{
		if(x[i]!=' ')
			num++;
		else 
			break;
	}
	x[i]='\0';
	return(num);
}
void move(char x[])
{
	int len,i;
	len=strlen(x);
	for(i=len;i>=1;i--)
		x[i]=x[i-1];
	x[len+1]='\0';
	x[0]=' ';
}
int count(char x[])
{
	int len,i,p=0,m=0;
	len=strlen(x);
	for(i=0;i<len-1;i++)
	{
		if(x[i]==' ')
			p=0;
		else if(p==0)
			{
				p=1;
				m++;
			}
	}
	return(m);
}
void cut(char x[])
{
	int len;
	len=strlen(x);
	while(x[len-1]==' ')
	{
		x[len-1]='\0';
		len--;
	}
}

main()
{
	char w[3000];
	int word[300],i,j,n;
	gets(w);
	move(w);
	n=count(w);
	for(i=n-1;i>=0;i--)
	{
		word[i]=read(w);
		cut(w);
	}
	for(j=0;j<n;j++)
	{
		printf("%d",word[j]);
		if(j<n-1)
			printf(",");
	}
}
int main(){
    int s[500]={0},i,k,x;
    char d[10000];
    gets(d);
    k=0;
    for(i=0;d[i]!=0;i++){
        if(d[i]!=' '){
            s[k]++;
        }else{
            k++;
            s[k]=0;
        }
    }
    for(x=0;x<=k;x++){
        if(x==0&&s[x]!=0){
            printf("%d",s[x]);
        }
        if(x>0&&s[x]!=0){
            printf(",%d",s[x]);
        }
    }
    return 0;
}