semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main() 
{
	double a,b,c,d,e,f,k,l;
	int g,h;
	scanf("%d",&g);
	for(h=0;h<g;h++)
	{
	scanf("%lf %lf %lf",&a,&b,&c);
	d=b*b-4*a*c;
	if(b==0)
	b=-b;
	if(d>0)
	{
		e=(-b+sqrt(b*b-4*a*c))/(2*a);
		f=(-b-sqrt(b*b-4*a*c))/(2*a);
		if(e<f)
		{
			l=e;
			e=f;
			f=l;
		}
		printf("x1=%.5lf;x2=%.5lf\n",e,f);
	}
	else if(d==0)
	{
		e=-b/(2*a);
		printf("x1=x2=%.5lf\n",e);
	}
	else
	{
		e=(-b)/(2*a);
		f=(-b)/(2*a);
		k=sqrt(-d)/(2*a);
		printf("x1=%.5lf+%.5lfi;x2=%.5lf-%.5lfi\n",e,k,f,k);
	}
	}
	return 0;
}
int main()
{
 
	int n,i=0;
	cin >>n;

	for(i=1;i<=n;i=i+1)             //??
	{
		double a,b,c,d;
	     cin >>a>>b>>c; 
		 d=b*b-4*a*c;
		if (b==0)//??-0????
		{
		 if(d>0)
		 {
			 cout<<fixed;     //????????
			 cout<<setprecision(5)<<"x1="<<(b + sqrt(b*b-4*a*c))/(2*a) <<";x2="<<(b - sqrt(b*b-4*a*c))/(2*a)<<endl; 
		 }
		 else if (d==0)
		 {
			 cout<<fixed;
			cout<<setprecision(5)<< "x1=x2="<<(b )/(2*a) <<endl;  //????????
		 }
		 else 
		 {
			 cout<<fixed;
              cout<<setprecision(5)<<"x1="<<(b)/(2*a)<<"+"<<sqrt(-d)/(2*a)<<"i;x2="<<(b)/(2*a)<<"-"<<sqrt(-d)/(2*a)<<"i"<<endl;

		 }
		}
		else
		{
          if(d>0)
		 {
			 cout<<fixed;     //????????
			 cout<<setprecision(5)<<"x1="<<(-b + sqrt(b*b-4*a*c))/(2*a) <<";x2="<<(-b - sqrt(b*b-4*a*c))/(2*a)<<endl; 
		 }
		 else if (d==0)
		 {
			 cout<<fixed;
			cout<<setprecision(5)<< "x1=x2="<<(-b )/(2*a) <<endl;  //????????
		 }
		 else 
		 {
			 cout<<fixed;
              cout<<setprecision(5)<<"x1="<<(-b)/(2*a)<<"+"<<sqrt(-d)/(2*a)<<"i;x2="<<(-b)/(2*a)<<"-"<<sqrt(-d)/(2*a)<<"i"<<endl;

		 }
		}
	}
	return 0;
}
int main() {
	double derta,a,b,c;
	int n,i;
	cin >> n;
	for (i=0;i<n;i++)
	{
		cin >> a >> b >> c;
		derta=b*b-4*a*c;
		cout.precision(5);
		cout << fixed;
		if (derta==0)
			cout << "x1=x2=" <<b/(-2*a)<<endl;
		else if (derta>0)
			    cout << "x1=" << (-b+sqrt(derta))/(2*a) << ';' << "x2=" << (-b-sqrt(derta))/(2*a)<<endl;
		     else if (b==0) cout << "x1=" <<b<<'+'<<sqrt(-derta)/(2*a)<<'i'<<';'<< "x2="<<b<<'-'<<sqrt(-derta)/(2*a)<<'i'<<endl;
		          else cout << "x1=" <<-b/(2*a)<<'+'<<sqrt(-derta)/(2*a)<<'i'<<';'<< "x2="<<-b/(2*a)<<'-'<<sqrt(-derta)/(2*a)<<'i'<<endl;
	}
	return 0;
}
void main()
{
	char str[100000];
	char c;
	int i,m,n,j;
	gets(str);
	m=strlen(str);
	n=1;
	j=0;
	for(i=0;i<=m;)
	{
		c=str[i];
		if(c!=' ')
		{j=j+1;
		i=i+1;}
		else
		{
			if(j!=0)
			{printf("%d,",j);}
		j=0;
		i=i+1;}
	}
	j=j-1;
printf("%d",j);

}
void main()
{
	char c[1000];
	int a[300]={0};
	int i,j,t,k;
	gets(c);
	j=0;
	for(i=0;c[i]!='\0';i++)
	{
		if(c[i]==' '&&t==0)  j=j+1,t=1;
		else if(c[i]!=' ')  a[j]=a[j]+1,t=0;
	}
	if(j==0) printf("%d",a[0]);
	else if(j>0)
	{
	   printf("%d",a[0]);
	   for(k=1;k<=j;k++)
		  printf(",%d",a[k]);
	}
}
int main(){
	char z[1000];
	int i,j=1,n,k,m=0,s[1000],l[1000];
	gets(z);
	n=strlen(z);
	for(i=0;i<n;i++){
		if(z[i]==' '){
			s[j]=i;
			j++;
		}
	}
	s[j]=n;
	s[0]=-1;
	for(k=0;k<j;k++){
		if(s[k+1]-s[k]-1!=0){
		l[m]=s[k+1]-s[k]-1;
		m++;
		}
	}
	m--;
	for(i=0;i<=m;i++){
		if(i==0){
	printf("%d",l[i]);
		}else{
			printf(",%d",l[i]);
		}
	}
	printf("\n");

	return 0;
}
int main()
{
	char a[10000];
	gets(a);
	int length[301]={0};
	int i,geshu=0,state=OUT;

	geshu=0;

	for(i=0;a[i]!='\0';i++){
		if(a[i]==' '){
			state=OUT;
		}
		else{
			if(state==OUT){
				geshu++;
				length[geshu]++;
				state=IN;
			}
			else if(state==IN){
				length[geshu]++;
			}
		}
	}

	for(i=1;i<geshu;i++){
		printf("%d,",length[i]);
	}
	printf("%d",length[geshu]);

	return 0;
}
int main()
{
	char s[30000];
	int n,i,j,k,m[300],dc[300],e;
	gets(s);
	n=strlen(s);
	m[0]=0;
	for(i=0,k=1;i<n;i++){
		if(s[i]==' '){
			m[k]=i;
			k++;}
	}
	if(k==1){
		printf("%d",n);}
	else{
	for(i=0;i<k;i++){
		if(i==0){
			dc[i]=m[i+1]-m[i];}
		else if(i==k-1){
			dc[i]=n-m[i]-1;
			}
		else if(i!=0&&i!=k-1){
			dc[i]=m[i+1]-m[i]-1;
			}
		}
	for(i=0;i<k;i++){
		if(dc[i]!=0){
		if(i!=k-1){
			printf("%d,",dc[i]);}
		else {
			printf("%d",dc[i]);}
		}
	}
	}
		
		return 0;
}
void main()
{
	char a[3600];
	gets(a);
	char *p;
	int len,n;
    len=strlen(a);
	n=0;
	for(p=a;p<=a+len;p++)
	{
		if(*p!=' ')
		{ 
			n=n+1;
		}
		else if(*p==' '&&n!=0)
		{
			printf("%d,",n);
			n=0;
		}
	}
	printf("%d",n-1);
}
void main()
{
	char a[10000];
	int b[300],m=0,i;
	gets(a);
	int n=strlen(a);
	for(i=0;i<n;i++)
	{
		int k=0;
		while(a[i]!=' '&&a[i]!='\0')
		{
			k++;
			i++;
		}
		
		if(k!=0){m++;
		b[m]=k;}
	}
	for(i=1;i<m;i++)
		printf("%d,",b[i]);
	printf("%d\n",b[m]);
}
int main()
{
 	char zfc[30000];
 	int sz[301];
 	int i,num=0,l,x=0;
 	gets(zfc);
 	l=strlen(zfc);
 	for(i=0;i<l;i++){
		if(i==0&&zfc[i]==' ') continue;
		else{
			if(zfc[i]!=' '){
				num++;
				}
			else{
				if(zfc[i-1]!=' '){
					sz[x]=num;
					x++;
					num=0;
					}
				}
	    	}	
		}
	if(zfc[l-1]!=' '){
		sz[x]=num;
		x++;
		}
	for(i=0;i<x;i++){
		if(i<x-1) printf("%d,",sz[i]);
		else printf("%d",sz[i]);
		}
 	
    return 0;
}
int main()
{
	int i,k,m[1000]={0},n;
	char a[5000];
	gets(a);
	n=strlen(a);
	for(i=0,k=0;i<n;i++)
	{
		if(a[i]!=' ')
			m[k]++;
		else 
		{
			do{i++;}
				while(a[i]==' ');
				i--;
			k++;
		    continue;
		}
	}
	printf("%d",m[0]);
	for(i=1;i<=k;i++)
	{
		printf(",%d",m[i]);
	}
	return 0;
}
void main()
{
	int i,k=-1;
	char zjy[30000];
         gets(zjy);
	while(k==-1||zjy[k]!='\0')
		{
			k++;
			for(i=0;zjy[k]!=' '&&zjy[k]!='\0';k++)i++ ;
			if(i!=0)
                            {if(zjy[k]==' ')printf("%d,",i);
			 else printf("%d\n",i);}
		}
}
int main(){
	char zf[1000],zfc[100][100];
	int k=0,n=0,l,a,i;
	gets(zf);
	l=strlen(zf);
	for(i=0;i<l;i++){
		if(zf[i]!=' '){
			zfc[n][k]=zf[i];
			k++;
		}
		else{
			zfc[n][k]='\0';
			n++;
			k=0;
		}
	}
	zfc[n][k]='\0';
	for(i=0;i<n;i++){
		a=strlen(zfc[i]);
		if(a!=0){
            printf("%d,",a);
		}
	}
	printf("%d",strlen(zfc[n]));
	
}
void main()
{
	int n,m,i,b[111],j,p,w=0,l=0;
	char a[1111];
	gets(a);
	p=strlen(a);
	for(j=0;;j++)
	{
		b[j]=0;
		for(i=l;*(a+i)!=' '&&*(a+i)!='\0';i++)
			b[j]=b[j]+1;
	    m=i;
		w=0;
		for(i=m;*(a+i)==' ';i++)
			w=w+1;
		l=m+w;
        if(i==p) break;
	}
	n=j;
    for(j=0;j<n;j++)
		printf("%d,",b[j]);
	printf("%d",b[n]);

}
void main()
{
	char a[1000];
	int b[300]={0},i,n,j=0;
	gets(a);
	n=strlen(a);
	for(i=0;i<n;i++)
	{    
		if(a[i]==' ')
			j=j+1;
		else
			b[j]=b[j]+1;
	}
	printf("%d",b[0]);
	for(j=1;j<300;j++)
		if(b[j]!=0)
			printf(",%d",b[j]);
}
int main()
{
    char s1[1000],s2[1000];

    int i,j,k,l1,n,l2;
    gets(s1);
    l1=strlen(s1);
     n=0;
   
  
        for (i=0;i<l1;i++)
        {
          if ((s1[i]==' ')&&(n>0)) 
          {
             printf("%d,",n);
             n=0;
             }
           else if (s1[i]!=' ') n++;
           }       
        printf("%d",n);                                                         
        
         return 0; 
}
void main()
{
	char a[300];
	int i=0 ,n=0;
	while (1==1)
	{
		n=getchar();
		if(n==' ')
		{	
			if(i!=0)
			{
				printf("%d,",i);
				i=0;
			}
		}
		else if(n!='\0'&&n!='\n')
		{
			i++;	
		}
		else if(n=='\n')
		{
			printf("%d",i);
			break;
		}
	}
}
void main()
{
	char a[1000];
	int b[300],f=0,i,j;
	gets(a);
    for (i=0,j=0;a[i]!='\0';i++)
	{
		if (a[i]==' '&&f==0) {continue;}
		else if (a[i]==' ') {b[j]=f;f=0;j++;continue;}
		else {f++;}
	}
	b[j]=f;
	printf("%d",b[0]);
	for (i=1;i<=j;i++)
	printf(",%d",b[i]);
}
void main()
{ int i,n,k;
  char ar[300][20];
  for (i=0;i<300;i++)
   scanf("%s",&ar[i]);
  for (i=0;i<=299;i++)
   {n=strlen(ar[i]);
    if (n!=0) {k=i;}
    else break;
    }
  for (i=0;i<=k-1;i++)
   printf("%d,",strlen(ar[i]));
  printf("%d",strlen(ar[k]));
}
main()
{
      char a[1000];
      gets(a);
      int i=0,time=0,temp=0;
      int len=strlen(a);
      for(i=0;i<len;i++)
      {
                        if(a[i]!=' ')
                        {
                                temp++;
                        }
                        else
                        {
                            if(temp!=0)
                            {
                                       if(time==0) printf("%d",temp);
                                       else printf(",%d",temp);
                                       time++;
                                       temp=0;
                            }
                        }
      }
      if(time==0) printf("%d",temp);
      else printf(",%d",temp);                         
}
int main()
{
    int i,a[301],n=0;
    char zf[300][100];
    for (i=0;i<300;i++){
        scanf("%s",&zf[i]);
        a[i]=strlen(zf[i]);
        if(a[i]==0){break;}
        n++;
    }
    for(i=0;i<n-1;i++){
         printf("%d,",a[i]);
    }
    printf("%d",a[i]);
    return 0;
}
int main()
{
	char ch;
	int len = 0,tag=0;
	while((ch = getchar()))
	{
		if((ch == ' '||ch=='\n') && len)
		{
			if(tag)
				printf(",");
			printf("%d", len);
			len = 0;
			tag=1;
			if(ch=='\n')
				break;
		}
		else if(ch!= ' ')
			len++;
	}
	printf("\n");
	return 0;
}
char a[300];

int main()
{

	gets(a);
	int n=strlen(a);


	int p=0,q=0,m=0;
	while(p<n&&q<n)
	{
		while(a[p]==' ')
			p++;

		q=p;

		while(a[q]!=' '&&a[q]!=0)
			q++;
		if(m==0)

		    printf("%d",q-p);
		else
			printf(",%d",q-p);
		p=q;
		m++;
	}


	
	return 0;
         
}
int main()
{
	int i=0,a[999],j=0,sp=999,k=0,sp2=99999;
    char c;
	for(i=0;i<999;i++)
		a[i]=0;
	i=0;
	for(j=0;j<sp;j++)
	{
		c=getchar();
		if(c=='\n')
			sp=j;
		else if(c==' ')
		{
			for(k=0;k<sp2;k++)
			{
				if(c!=' ')
				{
					i=i+1;
					a[i]=a[i]+1;
					sp2=k;
				}
				else
					c=getchar();
			}
			sp2=99999;
		}
		else
			a[i]=a[i]+1;
	}
	for(j=0;j<i;j++)
		printf("%d,",a[j]);
	printf("%d",a[i]);
	return 0;
}
void main()
{
	int i,j;
	int flag=0;
	int flagdh=0;
	char a[1000];
	int counts=0;
	gets(a);
	for(i=0;a[i]!='\0';i++)
	{
		if(a[i+1]!='\0')
		{
			if(flag==0&&a[i]!=' ')
			{
				flag=1;
				counts++;
			}
			else if(flag==1&&a[i]!=' ')
			{
				counts++;
			}
			else if(flag==1&&a[i]==' ')
			{
				flag=0;
				if(flagdh==0)
				{
					flagdh=1;
					printf("%d",counts);
				}
				else
				{
					printf(",%d",counts);
				}
				counts=0;
			}
		}
		else
		{
			if(flag==1)
			{
				if(a[i]!=' ')
				{
					counts++;
					if(flagdh==0)
					{
						printf("%d",counts);
					}
					else
					{
						printf(",%d",counts);
					}
				}
				else
				{
					if(flagdh==0)
					{
						printf("%d",counts);
					}
					else
					{
						printf(",%d",counts);
					}
				}
			}
			else
			{
				if(a[i]!=' ')
				{
					if(flagdh==0)
					{
						printf("1");
					}
					else
					{
						printf(",1");
					}
				}
			}
		}
	}
}
int main(){
  char v[10000];
  gets(v);
  int a[400],i,j;
  for(i=0;i<=strlen(v)-1;i++)
 { 
    if((v[i]==' ')&&(v[i+1]==' '))      
       {
           for(j=i;j<=strlen(v)-1;j++)
             {
               v[j]=v[j+1];    
             }
            i--;                
       }
 }

 int p=0;
 for(i=0;i<=strlen(v)-1;i++)
 {
    if(v[i]==' ')
     {
       a[p]=i;
       p++;        
     }    
 }
if(p==0){printf("%d",strlen(v));} 
else{ printf("%d,",a[0]);
 for(i=0;i<=p-2;i++)
 {
   printf("%d,",a[i+1]-a[i]-1);      
 }
 printf("%d",strlen(v)-1-a[p-1]);}
  return 0;    
    
 
 
 }
void main()
{
	char a[10000];
	int b[300],i,j=0;
	for(i=0;i<300;i++)
		b[i]=0;
	gets(a);
	for(i=0;i<strlen(a);i++)
	{
		if(a[i]!=' '&&a[i-1]==' ')
			j++;
		if(a[i]!=' ')
			b[j]++;
	}
	for(i=0;i<=j;i++)
	{
		if(i>0) printf(",");
		printf("%d",b[i]);
	}


}
void main()
{
	char str[100000]={'\0'};
	int n,i,len,temp=-1;
	gets(str);
	n=strlen(str);
	for(i=n-1;i>=0;i--)
	{
		str[i+1]=str[i];
	}
	str[0]=' ';
	for(i=0;i<=n;i++)
	{
		if(str[i]==' ')
		{
			len=i-temp-1;
			temp=i;
			if(len!=0)
				printf("%d,",len);
		}
	}
	printf("%d",(n-temp));
}
int main()
{
	char str[6000];
	int a[300];
	int i,j,num;
	gets(str);
	for (j=0,i=1,num=1;str[i]!='\0';i++)
	{
		if (str[i]!=' ')
		{
			if (str[i-1]==' ')
			{
				a[j]=num;
				num=1;
				j++;
			}
			else
				num++;
		}
	}
	for (i=0;i<j;i++)
		printf("%d,",a[i]);
	printf("%d",num);
	return 0;
}
void main()
{
	char s[1000];int i,n,j,s1[1000];
	gets(s);
	for(i=0,j=0;i<strlen(s);i++)
	{
		if(s[i]==' ') {s1[j]=i;j++;}
	}
	if(j!=0)
	{
	printf("%d,",s1[0]);
	for(i=0;i<j-1;i++)
	{
		if((s1[i+1]-s1[i]-1)==0) continue;
		else printf("%d,",s1[i+1]-s1[i]-1);
	}
	printf("%d",strlen(s)-s1[j-1]-1);
	}
	else printf("%d",strlen(s));

}
int main()
{
 char s[6000];
 char tem[100];
 int i=0; 
 int m,p,j;
 p=0;
 gets(s);
 int t;
  t=strlen(s);
 for (m=0;m<t+1;m++){
  if(s[m]!=' '&&s[m]!='\0'){
   tem[i]=s[m];
   i++;
  }
  else {
   if(p==0){
      tem[i]='\0';
   printf("%d",strlen(tem));
   i=0;
   p=1;
   for (j=m+1;;j++){
	   if (s[j]!=' '){
		   m=j-1;
		   break;
	   }
   }
   }
   else { 
   tem[i]='\0';
   printf(",%d",strlen(tem));
   i=0;
   for (j=m+1;;j++){
	   if (s[j]!=' '){
		   m=j-1;
		   break;
	   }
   }
   }
  }
  }
  return 0;
 }
void main()
{
	char string[30000];
	char word[300][100];
	int i=0,j=0,k,t;int l[300];
	gets(string);
	for(k=0;string[k]!='\0';k++)
	{
		if(string[k]!=32)
		{
			word[i][j]=string[k];
			if(string[k+1]!=32&&string[k+1]!='\0')
				j++;
			else
			{
			
			     l[i]=j;
				word[i][j+1]='\0';	j=0;	i++;
			}
		}
	}
    for(k=0;k<i-1;k++)
	{
	
		printf("%d,",l[k]+1);
		
	}
	printf("%d\n",l[i-1]+1);
    
	}
void main()
{
	char c[3000];
	gets(c);
	int i,j,len,temp;
	len=strlen(c);
	c[len]=' ';
	int a[100];
	j=1;
	for(i=0;i<=len;i++)
	{
		if(c[i]==' ')
		{
			a[j]=i;
			j++;
		}
	}
	printf("%d",a[1]);
	for(i=2;i<j;i++)
	{
		temp=a[i]-a[i-1]-1;
		if(temp!=0)
			printf(",%d",temp);
	}
}
void main()
{

	char a[300][50];
	int b[300];
	int i=1,n,m;

	scanf("%s",a[0]);printf("%d",strlen(a[0]));

	while(scanf("%s",a[i])!=EOF){
		b[i]=strlen(a[i]);
		printf(",%d",b[i]);
		i++;}

}
int main()
{
	int n,a,i,p,q,t;
    char r[2000],s[2001];
	s[0]=' ';s[1]='\0';
	gets(r);strcat(s,r);
	for(i=0;s[i]!='\0';i++)
	{
		if(s[i]==' '&&s[i+1]!=' ') p=i+1;
		if(s[i]!=' '&&(s[i+1]==' '||s[i+1]=='\0')) {q=i;a=q-p+1;printf("%d",a);break;}
	}
	for(i=i+1;s[i]!='\0';i++)
	{
       if(s[i]==' '&&s[i+1]!=' ') p=i+1;
		if(s[i]!=' '&&(s[i+1]==' '||s[i+1]=='\0')) {q=i;a=q-p+1;printf(",%d",a);}
	}
	return 0;
}
void main()
{
	char a[300][50],c;
	int i=0,j;
	scanf("%s",a[i++]);
	while((c=getchar())!='\n')
		scanf("%s",a[i++]);
	for(j=0;j<i;j++)
	{
		printf("%d",strlen(a[j]));
		if(j!=i-1)
			printf(",");
	}
}
int main()
{
    char str[300*100];   /* ??????????????100??? */
    int wls[300] = {0};  /* ?????? */
    int wc = 0;          /* ??? */
    int i, j;

    /* ????? */
    gets(str);
    /* ?????? */
    for (i=0; str[i]!=0; i++) {
        /* ??????????????? */
        if (str[i] != ' ') {
            /* ????????????? */
            for (j=i+1; str[j]!=0&&str[j]!=' '; j++);
            /* ?????????????????1 */
            wls[wc] = j - i;
            wc++;
            /* ???????????i?j??????? */
            if (str[j]==0) {
                break;
            } else {
                i = j;
            }
        }
    }
    /* ?????????? */
    printf("%d", wls[0]);
    /* ????????? */
    for (i=1; i<wc; i++) {
        printf(",%d", wls[i]);
    }
    return 0;
}

/*************************************************************************/
/* Ex 5.3       ??????????  */
/*************************************************************************/


int main_e5_3()
{
    char str[101];
    int i, j;
    /* ????? */
    scanf("%s", str);
    /* ??????? */
    for (i=0,j=strlen(str)-1; i<j; i++,j--) {
        if (str[i] != str[j]) {
            /* ????????????????????????????? */
            printf("no");
            return 0;
        }
    }
    /* ?????????????????????? */
    printf("yes");
    return 0;
}
int main(){
    int i,j=0,k=0;
    char sentence[2100],word[301][17];
    gets(sentence);
    for(i=0;i<strlen(sentence);i++){
        if(sentence[i]!=' '){
            word[k][j]=sentence[i];
            j++;
        }else if(sentence[i]==' '&&sentence[i-1]!=' '){
            k++;
            j=0;
        }
    }
    
    for(i=0;i<=k;i++){
        if(i==0)
            printf("%d",strlen(word[i]));
        else
            printf(",%d",strlen(word[i]));
        }
    return 0;
}
int main()
{
	int i,a=0,n,sum=0;
	char str[6000];
	gets(str);
	n=strlen(str);
	for(i=0;i<=n;i++)
	{
		if(str[i]!=' '&&str[i]!='\0')sum++;
		if(str[i]==' '||str[i]=='\0')
		{
			if(sum!=0)
			{
				if(a!=0)printf(",%d",sum);
				else if(a==0)printf("%d",sum);
				a++;
				sum=0;
			}
		}
	}
}
void main()
{
char a[500][60];
int i,j,k,n=0,m,q[500];
while(scanf("%s",a[n])!=EOF)n++;
for(i=0;i<n;i++)
q[i]=strlen(a[i]);
for(i=0;i<n;i++)
i==0?printf("%d",q[i]):printf(",%d",q[i]);
}
int main()
{
  char s[2000],a[200][200];
       int n=0,i,m=0,c[200]; //??m,n??????
       gets(s);
       for(i=0;i<strlen(s)+1;i++)
       {
              if(s[i]==' '||s[i]=='\0') //?????????????????
              {
                     a[m][n]='\0';
                     n=0;
                     m++;
              }
              else
              {
                     a[m][n]=s[i];
                     n++;
              }
       }
       for(i=0;i<m;i++)
       {
              c[i]=strlen(a[i]);
       }
       for(i=0;i<m-1;i++)
       {
     if(c[i]!=0)
     {
      printf("%d",c[i]);
              printf(",");//?????????????????
     }
     else
     {
     continue;
     }
       }
       printf("%d",c[m-1]);
       return 0;
}
int main(){
	char zifuchuan[N];
	int i,a=0;
	gets(zifuchuan);
	int n=strlen(zifuchuan);
	for(i=0;i<n;i++){
		if(zifuchuan[i]!=' '){
			a++;
		}else{
			if(a==0)continue;
			printf("%d,",a);
			a=0;
		}
	}	printf("%d",a);
	return 0;
}
int main()
{
	char zifu[5000];
	gets(zifu);
	int len;
	len=strlen(zifu);
	int i;
	int t=0;
	int j=0;
	for (i=0;i<=len;i++)
	{
		if (zifu[i]!=' ')
		{
			t++;
			if (zifu[i+1]=='\0')
			{
				j++;
				if (j==1)
				{
					printf("%d",t);
				}
				else 
				{
					printf(",%d",t);
				}
				
				return 0;
			}


		}
		else if(zifu[i]==' '&&zifu[i+1]!=' ')
		{
			j++;
			if (j==1)
			{
				printf("%d",t);
			}
			else 
			{
				printf(",%d",t);
			}
			t=0;
		}
	}




	
	return 0;

}
void main()
{
char a[20];
int i=1,n;
char c;
do
{
scanf("%s",a);
n=strlen(a);
if(i==1)
printf("%d",n);
else
printf(",%d",n);
i++;
}
while((c=getchar())!='\n');
}
int main(){
	char a[10000];
	int s,t=0;
	int n,i;
	gets(a);
	n=strlen(a);
	for(i=0;i<n;i++){
		if(a[i]!=' '){
			s=0;
			while(1){
				s++;
				i++;
				if(a[i]==' '||i>=n)
					break;
			}
			if(t==0){
				t++;
			    printf("%d",s);
			}
			else
				printf(",%d",s);
		}
	}
    return 0;
}
void main()
{
	char string[3000];   /*????????????????????????*/
	int i,j=0,length=0,b[300];
	char c;       /*c??????????*/
	gets(string);
	for (i=0;((c=string[i])!='\0');i++)
	{
		if (c!=' ')            /*?c????????????1*/
			length=length+1;
		else if ((c==' ')&& (string[i+1]!=' ')) /*?c???????????????????????????b[j]*/
		{
			b[j]=length;
				j=j+1;   /*????????????? */
			length=0;    /*??????????????0?????????????*/
		}        /*???????????????????????????????*/
	}
	b[j]=length;
	for (i=0;i<j;i++)/*b??????j???*/
	{
		if (b[i]!=0)   /*??????????????????????????????0*/
		printf("%d,",b[i]);
	}
printf("%d",b[j]);
}
int main(void)
{
	char a[10000];
	long int beg[300],end[300];
	int i,j,n,k=1,t=0;
	gets(a);
	beg[0]=0;
	n=strlen(a);
	for(i=0;i<n-1;i++)
	{
		if(a[i]==' '&&a[i+1]!=' ') {beg[k]=i+1;k++;}
		if(a[i]!=' '&&a[i+1]==' ') {end[t]=i;t++;}
	}
	end[t]=n-1;
	for(j=0;j<=t;j++)
		printf("%d%c",end[j]-beg[j]+1,(j!=t)?',':'\n');
}
void main()
{
  char str[1000];
  int num=0,n=0,i,j,word=0;
  int a[300];
  for (i=0;;i++)
  {
	  scanf ("%c",&str[i]);
    if (str[i]=='\n') break;
	else n++;
		}
  for (i=0;i<300;i++)
	  a[i]=0;
  for (i=0;i<n;i++)
  {if(str[i]==' ') {word=0;continue;}
	  else if(word==0)
	  {
		  word=1;
		  num++;
		  
	  }
      a[num-1]++;
  }
	  for (i=0;i<num-1;i++)
		  printf("%d,",a[i]);
	  printf("%d",a[i]);
}
char str[100000];
int main(int argc, char* argv[])
{

	int a[300];
	int i,len;
	gets(str);
	len=strlen(str);

	int word=0,num=0,total=0;
	for(i=0;i<len;){
		while(str[i]!=' '&&i<len){
	num++;
	i++;
	word=1;
		}
		if(word==1){
		total++;
		a[total-1]=num;
		}
		num=0;
		i++;
		word=0;

	}
	for(i=0;i<total-1;i++){
	printf("%d,",a[i]);
	}
	printf("%d\n",a[total-1]);
	return 0;
}
void main()
{
	int i,len=0,tag=1,flag=1;
	char c[6000];
	gets(c);
	for(i=0;i<6000;i++)
	{
		if(c[i]!=' '&&c[i]!='\0')
		{
			tag=1;
			len++;
		}
		else if(c[i]==' ')
		{
			if(tag==1&&flag==1)
			{
				printf("%d",len);
				flag=0;
			}
			else if(tag==1&&flag==0) printf(",%d",len);
			else continue;
			tag=0;
			len=0;
		}
		else if(c[i]=='\0')
		{
			if(flag==0) printf(",%d",len);
			else if(flag==1) printf("%d",len);
			break;
		}
	}
}
int main()
{
    int i,n,count=0;
    char a[301][500];
    int b[301];
    for(i=0;i<300;i++)
    {
                      scanf("%s",a[i]);
                      n=strlen(a[i]);
                      b[i]=n;
                      count++;
                      if(n==0)
                      break;
    }
    for(i=0;i<count-1;i++)
    {
                        if(i==0)
                        printf("%d",b[i]);
                        else
                        printf(",%d",b[i]);
    }
    return 0;
}
void main()
{
	char a[10000],*p=a,n;
	int i;
	gets(a);
	n=strlen(a);
	for(p=a;;)
	{
		for(i=0;*p!=' '&&*p!='\0';p++)
			i++;
		if(i!=0&&*p==' ')
		{
			printf("%d,",i);
			p++;
		}
		else if(i==0&&*p==' ')
			p++;
		else if(i!=0&&*p=='\0')
		{
			printf("%d",i);
			break;
		}
	}
}
void main()
{
    char chuan[10000];
    int i,j=0;
    char *p=chuan;
    gets(chuan);
    for (i=0;chuan[i]!='\0';i++)
    {
        if(chuan[i]!=' ')
        {
            j=j+1;
        }    
        if(chuan[i]==' '&&chuan[i-1]!=' ')
        {
            printf("%d,",j);
            j=0;
        }   
    }
    printf("%d",j);
}
int main()
{
    char s[110][20];
    int i=1;
    scanf("%s",s[0]);
    printf("%d",strlen(s[0]));
    while(scanf("%s",s[i])!=EOF)
    {
      printf(",%d",strlen(s[i]));
      i++;
    }
    printf("\n");
}
void main()
{
	char s[10000];
	int i,l,a[400],k=1;
	char c;
	gets(s);
	l=0;
	k=0;
	for(i=0;(c=s[i])!='\0';i++)
	{
		if(c!=' ')l++;
		else
		{
			a[k]=l;
			k++;	l=0;
	}
		}
	

	if(k==0)printf("%d",l);
	else if(k>0){
		printf("%d",a[0]);
		for(i=1;i<k;i++)
			if(a[i]!=0)printf(",%d",a[i]);
		printf(",%d",l);}
}
int main()
{
    char s[1000];
    char words[300][20];
    gets(s);
    int i,j,n,k;
    int sum;
    n = 0; k = 0;
    for (i = 0; s[i] != 0; i++) 
    {
        if (s[i] == ' ') 
        {
            s[i] = '\0';
            strcpy(words[n], (s + k));
            n++;
            k = i + 1;
        }
    }
    strcpy(words[n], (s + k));
    n++;
    
    sum=strlen(words[0]);
    if(sum!=0)
    {
    printf("%d",sum);}
    for(i=1;i<n;i++)
    {
      int result=0;  
      result=strlen(words[i]);
      if(result==0)
      {
        continue;}
      if(result!=0)
      {
      printf(",%d",result);}
    }
    return 0;
}
void main()
{
	char *p,str[10000];
	int a[10000]={0},i=0,j=0,b[10000],t=0;
	gets(str);
	for(p=str;*p!='\0';p++)
	{
		if(*p==' ')
		{
			i++;
		}
		else
		{
			a[i]++;
		}
	}
	for(j=0;j<1000;j++)
	{
		if(a[j]!=0)
		{
			b[t]=a[j];
			t++;
		}
	}
	printf("%d",b[0]);
	for(i=1;i<t;i++)
	{
		printf(",%d",b[i]);
	}
}
void main()
{
	char x[3000];
	int n,i,j,a[300],b[300],A,B,c[300];
	gets(x);
	n=strlen(x);
	a[1]=0;
	A=1;
	B=0;
	for(i=0;i<n;i++)
	{
		if((x[i]!=' ')&&(x[i-1]==' '))
		{
			A=A+1;
			a[A]=i;
		}
		if(((x[i]!=' ')&&(x[i+1]==' '))||(x[i+1]=='\0'))
		{
			B=B+1;
			b[B]=i;
			c[B]=b[B]-a[A]+1;
		}
	}
	for(i=1;i<B;i++)
	{
		printf("%d,",c[i]);
	}
	printf("%d",c[B]);
}
int main()
{
    char zf[300][100];
    int i,j,len[300];
    scanf ("%s",&zf[0]);
    len[0]=strlen(zf[0]);
    printf("%d",len[0]);
    for (i=1;i<300;i++)
    {
        scanf("%s",&zf[i]);
        len[i]=strlen(zf[i]);
        if (len[i]==0){
        break;
        }
        printf(",%d",len[i]);

    }
    return 0;
}
void main()
{
  char string[10000],c;
	int i,num,word,a[300];
  num=0;
  word=0;
		 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]=a[num-1]+1;
		

		  }
	  } 
	for (i=0;i<=num-1;i++)
	{printf("%d",a[i]);
	if (i<num-1) printf(",");}
}