semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main(){
	char s[256];
	int i,n;
	gets(s);
	i=0;
	n=strlen(s);
	for(i=0;i<n;i++){
	if(s[i]!=' ')
		printf("%c",s[i]);
	if(s[i]==' '){
		if(i!=n-1&&s[i+1]!=' ')
			printf("%c",s[i]);
		if(i!=n-1&&s[i+1]==' ')
			continue;
	}
	}
	return 0;
}
int main(){
    char a[201];
    char b[201];
    int c=0;
    gets(a);
    for(int i=0;i<201;i++){
        b[i]='\0';
    }
    for(int i=0;i<strlen(a);i++){
        if((a[i]==' ')&&(a[i+1]==' ')){
            b[c]=' ';
        }else{
        b[c]=a[i];
        c++;
        //printf("%d\n",c);
        }
    }
    printf("%s",b);
    return 0;
}
int main()
{
	char old[200],wri[200];
	int a,b;
	gets(old);
	b=0;
	for(a=0;old[a]!='\0';a++)
	{
		if(old[a]!=' '){
			wri[b]=old[a];
			b++;
		}
		else{
			if(old[a+1]!=' ')
			{
				wri[b]=old[a];
				wri[b+1]=old[a+1];
				b=b+2;
				a++;
			}
			else	
				continue;
		}
	}
	wri[b]='\0';
	puts(wri);
	return 0;
}
int main()
{
	char a[1000];
	int i,t,j;
	gets(a);
	for(i=1;a[i]!='\0';i++){
		if(a[i-1]==' '&&a[i]==' '){
			t=i;
			for(j=t;a[j-1]!='\0';j++){
				a[j-1]=a[j];
			}
			i=i-1;
		}
	}
    printf("%s",a);
    return 0;
}
main()
{
      int i,j,n;
      char *s;
      s=(char*) malloc (sizeof(char)*10000);
      gets(s);
      n=strlen(s);
      for(i=0;*(s+i)!='\0';i++)
      {
                              if(*(s+i)==' ')
                              {
                                           if(*(s+i+1)==' ')
                                           {
                                                          for(j=i;*(s+j)!='\0';j++) 
                                                          {
                                                                                    *(s+j)=*(s+j+1);
                                                          }
                                                          i--;
                                           }
                              }
      }
      puts(s);

}
int main()
{
	char a[10000], leap = 0;
	for (int i = 0; i < 10000; i++)
	{
		cin.get(a[i]);
		if (a[i] != ' ')
		{
			leap = 1;
			cout << a[i];
		}
		if (a[i] == ' ')
		{
			if (leap == 1)
			{
				cout << a[i];
				leap = 0;
			}
		}
		if (a[i] == '\n')
		{
			cout << endl;
			break;
		}
	}
	return 0;
}
int main()
{
    char a[500];
    int i;
    gets(a);
    for (i=0;a[i+1]!='\0';i++)
    {
        if (a[i]==' '&&a[i+1]==' ')
        {
             continue; 
                    
        }
        printf("%c",a[i]);
    }
    
     printf("%c",a[strlen(a)-1]);
    

    return 0;
}
int main(){
    
    char n[100];
    int a,b,c=0,d,i,j,k,l;
    gets(n);
    b=strlen(n);
    for(i=0;i<b;i++)
        if(n[i]==32){
            for(j=i+1;n[j]==32;j++)
            if(n[j]==32)
                {
                    for(k=j;k<b-1;k++)
                    {
                        n[k]=n[k+1];
                    }
                    b--;
                    i=0;
                }
        }
                
        for(l=0;l<b;l++)
        printf("%c",n[l]);
        
    return 0;
}
int main(){
	char a[100000];
	gets(a);
	int i,l;
	l=strlen(a);
	for(i=l-1;i>0;i--){
		if(a[i]==' '&&a[i-1]==' ')
			strcpy(&a[i-1],&a[i]);
	}
	printf("%s",a);
	return 0;
}
int main(){
    const int MAXN = 300;
    char str[MAXN];
    gets(str);
    int i;
    printf("%c", str[0]);
    for (i = 1; i < strlen(str); ++ i)
        if (str[i - 1] == ' ' && str[i] == ' ')
           continue;
        else
            printf("%c", str[i]);
    printf("\n");
    return 0;
}
int main ()
{char zf[202],nzf[202];
int haha=0;
gets(zf);
int ct=0;

for (int i1=0;zf[i1]!='\0';i1++)
{
    if(zf[i1]==' ')
    {
        for (int i2=i1+1;zf[i2]==32;i2++)
        { 
            i1++;
        }
            
    }
    nzf[ct]=zf[i1];

    ct++;
    
}
nzf[ct]='\0';
printf("%s",nzf);
    return 0;
}
int main()
{
	char ch[100];
	int i,j=0,k=0;
	while(k<100)
	{
		ch[k]=getchar();
		if(ch[k]=='\n')
		break;
		k++;
	}
	for(i=0;i<k;i++)
	{
		if(ch[i]==32)
			j++;
		else
			j=0;

        if(j<2)
			printf("%c",ch[i]);
	}
	return 0;
}
int main(){
	char zfc[1000];
	int i;
	gets(zfc);
	for(i=0;zfc[i]!='\0';i++){
		if(zfc[i]!=' '){
			printf("%c",zfc[i]);
		}else{
			if(zfc[i+1]==' '){
				continue;
			}else{
				printf(" ");
			}
		}
	}
	return 0;
}
int main(){
	char zxc[230],cxz[230];
	int i,j;
	int n,len;
	gets(zxc);
	for(j=0;zxc[j]!='\0';j++)
	{
		if(zxc[j]==' ')
		{
			if(zxc[j-1]==' ')
			{
				for(i=j;zxc[i]!='\0';i++)
				{
					zxc[i]=zxc[i+1];
				}
				j--;
			}
		}
	}
	puts(zxc);
	return 0;
}
int main()
{
	char a[200]={0};
	gets(a);
	printf("%c",a[0]);
	int i;
	for(i=1;i<strlen(a);i++)
	{
		if ( a[i] == ' ' && a[i-1] != ' ')
		{
			printf(" ");
		}
		else if (a[i]!=' ')
		{
			printf("%c",a[i]);
		}
	}
	return 0;
}
int main()
{
	char a[100];
	char b[100][100];
	int i,m=0,k=0,d=0;
	gets(a);
	strcat(a," ");
	for(i=0;a[i]!='\0';i++)
	{
		k=0;
		d=0;
		while((a[i]!=' ')&&(a[i]!='\0'))
		{
			b[m][k]=a[i];
			k++;
			i++;
			d=1;
		}
		if(d==1)
		{
		b[m][k]='\0';
		m++;
		}
	}
	for(i=0;i<m-1;i++)
	{
		printf("%s ",b[i]);
	}
	printf("%s",b[m-1]);
	return 0;
}
int main(){
	int i,j=0;
	char zfc[100],guolv[100];
	gets(zfc);
	for(i=0;;i++){
		if(zfc[i]==0){
			guolv[j]=0;
			puts(guolv);
			break;
		}else if(zfc[i]==' '&&zfc[i+1]==' '){
           continue;
		}else{
           guolv[j]=zfc[i];
		   j++;
		}
	}
	return 0;
}
int main()
{
	char a[202];
	cin.getline(a,202);
	char *p = NULL ;
	p = a;
	int l;
	l = strlen(a);
	int k = 1;
	while ( *p !='\0')
	{
		if (k==1)
		{
			cout << *p;
			if (*p==' ')
			{
			k = 0;
			}
		    p++;
		}
		else
		{
			if (*p==' ')
			{
				p++;
				continue;
			}
			else
			{
				cout<< *p;
				k = 1;
		        p++;
			}
		}
	}

}
int main()
{
	int i=0,j=0,count=0;
	char a[10000][50]={'\0'};
	char c=getchar();
	while(c!='\n')
	{
		if(c==' ')
		{
			if(count!=0)
			{
				c=getchar();
				continue;
			}
			else if(count==0)
			{
				i++;
				j=0;
				count++;
			}
		}
		else
		{
			a[i][j++]=c;
			count=0;
		}
		c=getchar();
	}//??????????????????????????????????????????
	count=i;
	for(i=0;i<count;i++)
	{
		for(j=0;a[i][j]!='\0';j++)
		{
			cout<<a[i][j];
		}
		cout<<" ";
	}
	for(i=0;a[count][i]!='\0';i++)
		cout<<a[count][i];//??????????????????????
	return 0;
}
int main()
{
	int i=0,n;
	char ch[500];
    while(1)
	{
		ch[i]=cin.get();
		if(ch[i]=='\n')
			break;
		else if(ch[i]!=' ')
			i++;
		else if(ch[i-1]!=' ')
			i++;
	}
	n=i;
	for(i=0;i<n;i++)
		cout<<ch[i];
	return 0;
}
//
//  main.cpp
//  ?????
//
//  Created by ???? on 13-11-28.
//  Copyright (c) 2013? ????. All rights reserved.
//


int main()
{
    char sen[500];
    char *p;
    cin.getline(sen,500);
    p=sen;
    for(;*p;p++)
    {
        int flag;
        if(*p!=' '){cout<<*p;flag=0;}
        if(*p==' '&&flag==0){cout<<*p;flag++;}
        if(*p==' '&&flag>0)continue;
    }
    
        return 0;
}
int main(){
    char s[MAX+1],a[MAX+1];
    gets(s);
    int l=strlen(s);
    int i,j=0;
    for(i=0;i<=l;i++){   

        /*for(j=0;j<l;j++){
        if(s[i]==s[i-1]==' '){
            continue;
        }
        a[j]=s[i];
        }*/
        if(i!=0)
        if(s[i-1]==s[i]&&s[i]==' ') continue;
        
        a[j]=s[i]; j++;
    }
    puts(a);
    return 0;
}
int main()
{
    char *p,*q;
    int i,j,k=0;
    char a[10000];
    gets(a);
    p=a;
    for(i=0;i<strlen(a);i++)
    {if(*p!=' ')
    {printf("%c",*p);k=0;}
    if(*p==' '&&k==0)
    {printf(" ");
    k++;}
    p++;
    }
}
int main()
{
	char str[100];
	int i=0;
	int flag=0;
	gets(str);
	while(str[i]!=0)
	{
		if(str[i]==' ')
			if(flag==0)
			{
				flag=1;
				cout<<str[i];
			}
			else;
		else
		{
			flag=0;
		    cout<<str[i];
		}
		i++;
	}
	return 0;

}
int main ()
{char a[1000],b[1000];
int n,i=0,t;
n=0;
gets(a);
while (a[i]!='\0')
{if (a[i]!=32 && t!=0) t=0;
if (a[i]==32 && t!=0) t++;
else 
{b[n]=a[i];
n++;
if (a[i]==32) t++;
}
i++; 
}
b[n]='\0';
printf ("%s\n",b);
return 0;
}
int main(){
	char k[1000];
    int i;
	gets(k);
	
    for(i=0;k[i]!='\0';i++){
		
		if(k[i]!=' ') printf("%c",k[i]);
		else{
			if(k[i+1]!=' ') printf("%c",k[i]);
		}
	}
	
    return 0;

}
int i;
char a[210];
void xiaochu(char x)
{
	if(x==' ')  {*(a+i+1)='0';  i++;  xiaochu(*(a+i+1));}
}
int main ()
{
	int n;
	for(i=0;i<210;i++)  *(a+i)='0';
	cin.getline(a,210);
	for(i=0;i<210;i++)  {if(*(a+i)=='\0'){  n=i;break;}}
	for(i=1;i<n;i++)
	{
        if(*(a+i)==' ')   xiaochu(*(a+i+1));
	}
	for(i=0;i<n;i++)  
	{
		if(*(a+i)=='\0')   cout<<*(a+i)<<endl;
		else if(*(a+i)!='0')    cout<<*(a+i);
	}
		return 0;
}
int main()
{
char s[100][100];
char s1[100];
int i,t;
int j=0,p=0;
gets(s1);
for(i=0;i<=strlen(s1);i++)
{
if((s1[i]==' '&&s1[i+1]==' ')||(s1[i]==' '&&s1[i+1]!=' '))
continue;
s[j][p]=s1[i];
p++;
if(s1[i+1]==' '&&s1[i]!=' ')
{j++;
p=0;
}
}
for(t=0;t<=j-1;t++)
{
printf("%s ",s[t]);
}
printf("%s",s[j]);
return 0;
}
int main()
{
	char a[100];
	cin.getline(a,100);
	int i=0,j=0,k=0,l=strlen(a)-1,p=0,t;
	for(i=0;i<=l;i++)
	{
		if(a[i]==' ')
		{
			j=i;
			t=i;
			while(a[j]==' ')
			{
				k++;
				j++;
			}
		}
		if(k>1)
		{
			for(;t<=l-k+2;t++)
			{
				a[t]=a[t+k-1];
			}
			l=l-k+1;			
		}
		k=0;
	}
	for(p=0;p<=l;p++)
	{
		cout<<a[p];
	}
	cout<<""<<endl;
	return 0;
}
void main()
{
	int i;
	char *s;
	s=(char *)malloc(sizeof(char)*1000);
	gets(s);
	for(i=0;*(s+i)!='\0';i++)
	{
		if(*(s+i)!=' ') printf("%c",*(s+i));
		else
		{
			while(*(s+i+1)==' ') i++;
			printf("%c",*(s+i));
		}
	}
	printf("\n");
}
int main(){
	int i,a;
	char b=32;
	char sz[10000],res[10000];
	gets(sz);
	a=strlen(sz);
	for(i=0;i<a;i++){
		if(sz[i]!=32){
			printf("%c",sz[i]);
		}else if(sz[i]==32&&sz[i-1]!=32){
			printf("%c",b);
		}
	}
	return 0;
}
int main ()
{
	int i,b=0;
	char a[1000];
	gets(a);
	for(i=0;i<1000;i++)
	{

		if(a[i]=='\0')
		{printf ("\n");break;}

		if(a[i]!=' ')
		{
			b=0;
			printf ("%c",a[i]);
		}
		else
			b=b+1;
		
		if(b==1)
			printf (" ");
		else
			continue;
	}
	return 0;
}
/*
 *????filter.cpp
 *??:???
 *?????2012-11-10
 *??????????
 */



int main()
{
    long i,len;
    char s[100001]; // s?????
    cin.getline(s,sizeof(s)); // ??
    len=strlen(s); // ??
    for (i=0;i<len;i++)
        if (!((s[i]==' ') && (i==0 || i==len-1 || s[i-1]==' ')))
        // ???????????????????
            cout << s[i];
    return 0;
}
void main()
{
   char *s;
   int i,j=0,m,n,k=0;
   
   s=(char*)malloc(1000*sizeof(char));
   
   for(i=0;i<1000;i++)
	   scanf("%c",s+i);
   for(i=0;*(s+i)!='\0';i++)
   {
	   if(*(s+i)==' ')
	   {
		   for(j=i+1;*(s+j)==' ';j++)
		   {
			   for(k=j;*(s+k)!='\0';k++)
			   *(s+k-1)=*(s+k);
			   j--;
		   }
			  
	   }
   }
       for(i=0;*(s+i)!='\0';i++)
	   printf("%c",*(s+i));
  
 }
int main()
{char *p,*q;
 int a,i,j;
q=p=malloc(100);
gets(q);
a=i=0;
while(*(p+i)!='\0')
{while((*(p+i)==' ')&&(*(p+i+1)==' '))
{j=i+1;
while(*(p+j)!='\0')
{*(p+j)=*(p+j+1);j++;}}
i++;}
puts(p);
return 0;}
int main()
{
	char str[101];
	char *p;
	int i;
	cin.getline(str,101);
	for(i=0;i<strlen(str);i++)
	{
		if(str[i]!=' ')
		{
			p=&str[i];
			cout<<*p;
			continue;
		}
		if(str[i]==' ')
			if(str[i-1]!=' ')
			{
				p=&str[i];
				cout<<*p;
				continue;
			}
	}
	cout<<endl;
	return 0;
}
int main()
{
	char *a;
	int i,*symbol,k;
	a=(char*)malloc(1000*sizeof(char));
	symbol=(int*)malloc(1000*sizeof(int));
	gets(a);
	for(i=0;*(a+i)!='\0';i++)
	{
		if(*(a+i)==' ')*(symbol+i)=0;
		else *(symbol+i)=1;
	}
	for(i=1;*(a+i)!='\0';i++)
	{
		if((*(symbol+(i-1))==0)&&(*(a+i)==' '))
		{
			for(k=i;*(a+k)!='\0';k++)
			{
				*(a+k)=*(a+(k+1));
				*(symbol+k)=*(symbol+(k+1));
			}
			i=i-1;
		}
	}
	puts(a);
	free(a);
	free(symbol);
	return 0;
}
int main()
{
    int i,a,c=0;
    char zfc[1000],zfc2[1000];
    gets(zfc);
    a=strlen(zfc);
    for(i=0;i<1000;i++){
                        zfc2[i]=' ';
    }
    for(i=0;i<a;i++){
                     if(zfc[i]!=' '){
                                  zfc2[c]=zfc[i];
                                  c++;
                     }
                     if(zfc[i]==' '&&zfc[i-1]!=' '){
                                  zfc2[c]=zfc[i];
                                  c++;
                     }
    }
    zfc2[c]='\0';
    puts(zfc2);
    scanf("%d",&a);
    return 0;
}
int main()
{
    char a[1000];
    gets(a);
    int i,t;
    t=0;
    for(i=0;a[i]!='\0';i++)
    {
        if(a[i]==' ')
        {
            t++;
            if(t!=1) continue;
        }
        else t=0;
        printf("%c",a[i]);    
    }
    return 0;
}
int main() {
	char a[5000];
	cin.getline(a,5000);
	int b=strlen(a);
	int c=b;
	for(int i=0;i<b;i++)
		if((a[i]==' ')&&(a[i+1]==' ')) //???????????
		{
			for(int j=i+1;j<b;j++)     //????
				a[j]=a[j+1];
			i--;
			c--;
		}
	for(int i=0;i<c;i++)
		cout<<a[i];
	return 0;
}
int main()
{
	char s[105],t[105]={'\0'};
	int i,j=0,k=0,n,m;

	gets(s);
	n=strlen(s);		
	for(i=0;i<n;i++)
	{
		if(s[i]==' '&&s[i-1]==' ')
		{
			k++;	
		}
		if(k<1)
		{
			t[j]=s[i];
			j++;
		}
		k=0;	
	}	
	m=strlen(t);
	for(i=0;i<m;i++)
	printf("%c",(int)t[i]);
	return 0;
}
int main(){
	char zfc[250];
	gets(zfc);
	int n=strlen(zfc);
	for(int i=0;i<n;i++){
		if(i==0){
			printf("%c",zfc[0]);
		}else if(zfc[i]!=' '){
			printf("%c",zfc[i]);
		}else if(zfc[i-1]!=' '){
			printf("%c",zfc[i]);
		}
	}
	return 0;
}
int main(){
    int i,e,u,x=0,y;
    char z1[201];
    gets(z1);
    e=strlen(z1);
    for(i=1;i<e;i++){
        if((z1[i-1]==' '||z1[i-1]=='1')&&(z1[i]==' ')){
            z1[i]='1';
        }
    }
    for(i=0;i<e;i++){
        if(z1[i]=='1'){  
        }else{
            printf("%c",z1[i]);
        }
    }
    return 0;
}
main()
{
      char a[100];
      int i,num,b[100];
      for(i=0;i<100;i++)
         b[i]=0;
      for(i=0;;i++)
      {
                   scanf("%c",&a[i]);
                   if(a[i]=='\n')
                   break;
      } 
      num=i;
      for(i=0;i<num-1;i++)
      {
            if((a[i]==' ')&&(a[i+1]==' '))
                b[i+1]=1;
      }
      for(i=0;i<num;i++)
      {
                        if(b[i]==0)
                        printf("%c",a[i]);
      }
}
int main()
{
	char st[100];
	int i=0,j,t;
	cin.getline(st,100,'\n');
	for(i=0;st[i]!='\0';i++)
	{
		if(st[i]==' '&&st[i+1]==' ')
		{
			for(j=i+1;st[j]==' ';j++)
			{
				for(t=j;st[t]!='\0';t++)
					st[t]=st[t+1];
				j--;
			}
		}
	}
	for(i=0;st[i]!='\0';i++)
		cout<<st[i];
	return 0;
}
int main()
{
	char a[100];
	int b[100]={0},c[100]={1};
	int i,n;
	gets(a);
	n=strlen(a);
	for(i=0;i<n;i++)
		if(a[i]==' ') b[i]=1;
	for(i=1;i<n;i++)
	{
		if(b[i]&&b[i-1]) c[i]=0;
		else c[i]=1;
	}
	for(i=0;i<n;i++)
		if(c[i]) printf("%c",a[i]);
	return 0;
}
int main(){
    int i,n,r,x=0,y=0;
    char a[300],b[300];
    gets(a);
    n=strlen(a);
    if(a[0]==' '){ 
              for(i=1;i<n;i++){
                               a[i-1]=a[i];
                               }
                               
    for(i=0;i<n-1;i++){
                     if(a[i]!=' '){
                                y=0;
                                b[x]=a[i];
                                x++;
                                }
                     if(a[i]==' '&&y==0){
                                y=1;
                                b[x]=' ';
                                x++;
                                }
                     }}
    else{
         for(i=0;i<n;i++){
                     if(a[i]!=' '){
                                y=0;
                                b[x]=a[i];
                                x++;
                                }
                     if(a[i]==' '&&y==0){
                                y=1;
                                b[x]=' ';
                                x++;
                                }
                     }
         }
    if(b[x-2]==0){
                  for(i=0;i<x-1;i++){
                                     printf("%c",b[i]);
                                     }
                  }
    else{
         for(i=0;i<x;i++){
                                     printf("%c",b[i]);
                                     }
         }
    return 0;
}
int main()
{
	char input[100];
	char *p = NULL;
	int i;
	int length;
	p = input;
	cin.getline(input, 100);
	length = strlen(input);
	cout << input[0];
	for (i = 1; i < length; i++)
	//for (p = input; p < length; p++)
	{
		p++;
		if (*p == ' ' && *(p - 1) == ' ')
				continue;
		cout << *p;
	}
	return 0;
}
int main()
{
    int j,z=1,n,l;
    char w[300];
    gets(w);
for(j=0;j<strlen(w);j++)
if(w[j]!=' '||w[j+1]!=' ')
printf("%c",w[j]);
    
        return 0;
}
int main()
{
	char a[1000],t;
	int i=0;
	t=getchar();

	while(t>20)
	{
		while(t!=' ')
		{
			a[i]=t;
			t=getchar();
			i++;
			if(t<33)break;
		}
		if(t<32)break;
		while(t==' ')t=getchar();
		a[i]=' ';
		i++;
	}
	for(int k=0;k<i;k++)
		cout<<a[k];
	return 0;
}
int main()
{
	char *str,*p,*start;
	str=(char *)calloc(1000,sizeof(char));
	gets(str);

	int countspace=0;
	start=str;

	for (p=str;*p!='\0';p++)
		if (*p==' ')
		{
			if (*(p-1)!=' ') start=p;
			countspace++;
			if (*(p+1)!=' ')
			{
				if (countspace>1)
					for (p=start+1;*(p-1)!='\0';p++)
						*p=*(p+countspace-1);
				countspace=0;
				p=start+1;
			}
		}

	puts(str);
	free(str);
	return 0;
}
int main() {

	char ch[1000];
	//scanf("%s", ch);
	gets(ch);
	int len = strlen(ch);

	int i;
	for(i = 0; i < len; i++) {
		if(ch[i] != ' ') {
			printf("%c" , ch[i]);
		} else {
			if(ch[i-1] == ' ') {

			} else {
				printf(" ");
			}
		}
	}

	printf("\n");


	return 0;
}
int main()
{
	char a[100];
	char *p = NULL,*q = NULL;
	cin.getline(a, 100);
	for(p = a,q = a + 1; *p != '\0'; p++,q++)//????????????????
	{
		if(*p == ' '&& *q == ' ')//?????????
			continue;
		else//????????????
			cout << *p;
	}
	return 0;
}
int main (){
	int k,i,j,c;
	char w[100];
    gets(w);
    c=strlen(w);
    k=0;
	for(i=0;i<c;i++){
		if(w[i]==' '){
			for(j=i+1;w[j]==' ';j++){
				for(k=j;k<c;k++) 
				  w[k]=w[k+1];
				j--;
				
			}
		j=0;
		}

	}
    
printf("%s",w);
	return 0;
}
int main(){
    int n;
    int m=0;
    int j=0;
    char zfc[202];
    char mb[202];
    gets(zfc);
    n=strlen(zfc);
    for(int i=0;i<n;i++){
        if(!(zfc[i]==' '&&zfc[i+1]==' ')){
             mb[j]=zfc[i];
             j++;
        }
    }
    mb[j]='\0';
    printf("%s",mb);
    return 0;
}
int main()
{
	int i,j;
	char a[10000];
	cin.getline(a,10000);
	for(i=0;i<10000;i++)
		if(a[i]!=' '){
			cout<<a[i];break;
		}
 int len=strlen(a);
	for(j=i+1;j<len;j++)
	{
		if(!((a[j]==' ')&&a[j+1]==' '))cout<<a[j];
	}

	return 0;
}
//********************
// 1.cpp
// ??  1200018415
// 11 15
//*******************


int main()
{
	char str[102];    
	int i = 0, len = 0, count = 0;
	cin.getline(str,102);             // ?????
	while (i < strlen(str)) 
	{
		
		if (str[i] != ' ')           // ??????
		{
			cout << str[i];          // ????
			count = 0;               // ????0
		}
		if (str[i] == ' ')           // ?????
		{
			count++;                 // ???1
			if (count == 1)          // ??????
				cout << str[i];      // ?????
		}
		i++;
	}
	cout << endl;

	return 0;
}
int main(){
	char zfc[256],str[256]={0};
	gets(zfc);
	int len=strlen(zfc),k=0;
	for(int i=0;i<len;i++){
		if(zfc[i]==' '&&zfc[i+1]==' '){
			continue;
		}else{
			str[k]=zfc[i];
			k++;
		}
	}
	puts(str);
	return 0;
}
void main()
{
	int i,n;
	char *p,q[1000];
	gets(q);
	n=strlen(q);
	p=q;
	for(i=0;i<n;i++,p++)
	{
		if(*p!=' ')
		{
			printf("%c",*p);
		}    /*???????????*/
		if(*p==' ')            /*????????????????????????*/ 
		{
			printf("%c",*p);
			while(*p==' ')
			{
				i++;
				p++;
			}
			i=i-1;
			p=p-1;
		}
	}
}
int main()
{
	int n,kongge=0;
	char a[200];
	gets(a);
	n=strlen(a);
	for (int i=0;i<n;i++)
	{
		if(a[i]!=' ')
		{
			printf("%c",a[i]);
			kongge=0;
		}
		else if(kongge==0)
		{
			printf(" ");
			kongge+=1;
		}
	}


	return 0;
}
int main(){
	int i,n,l;
	char a[50];
	gets(a);
	l=strlen(a);
	for(n=0;n<l;n++){
		if(a[n]=='\t') 
			a[n]=' ';
	}
    for(i=l;i>0;i--){ 
		if((a[i-1]==' ')&&(a[i]==' ')) 
			strcpy(&a[i-1],&a[i]);
	}
	puts(a);
	return 0;
}
int main()
{
    char zfc[266],*a,*k;
    int n,i,j,s,c=0;
    gets(zfc);
    s=strlen(zfc);
    for(i=0;i<s;i++)
        {
            for(a=zfc;*a!='\0';a++)
                {
                    if(*(a-1)==' '&&*a==' ')
                        {
                            for(a=a;*a!='\0';a++) *a=*(a+1);
                        }
                }
        }
    puts(zfc);
    return 0;
}
int main()
{
    int m=0,i=0;
    char y[1001],h[1001];
    gets(y);
    for(i=0;y[i]!='\0';i++)
    {
        if(y[i]!=' ')
        {
              h[m]=y[i];
              m++;
        }
        else if(y[i]==' '&&y[i+1]!=' ')
        {
             h[m]=' ';
             m++;
        }
        else
        {
            continue;
        }
    }
    h[m]='\0';
    cout<<h<<endl;
    return 0;
}
int main(){
  int a;
  char s[2][M];
  gets(s[0]);
  a=strlen(s[0]);
  int i,k;
  k=1;
  s[1][0]=s[0][0];
  for(i=1;i<a;i++){
    if(s[0][i]!=' '||(s[0][i]==' '&&s[0][i-1]!=' ')){
      s[1][k]=s[0][i];
      k++;
    }
  }
  s[1][k]='\0';
  a=strlen(s[1]);
  for(i=0;i<a;i++){
    printf("%c",s[1][i]);
  }
return 0;
}
/*
 * homework3.cpp
 *
 *  Created on: 2012-12-4
 *      Author: Lixurong
 */


int main()
{
	char a[1000];
	cin.getline(a,1000);
	int p=0, len=strlen(a);
	for( int i=0; i<len; i++ )
	{
		if( *(a+i) != ' ' )
		{
            p=0;
		}
		else if(p==1)
		{
			for( int j=i; j<len-1; j++ )
			{
				*(a+j)=*(a+j+1);
			}
			len--;
			i--;
		}
		else
		{
			p=1;
		}
	}
	*(a+len)='\0';
	cout << a;
}
void s(char[], int);
int main()
{
	char a[10000];
	cin.getline(a, 1000);
	int pos = 0, flag = 1;
	for (; a[pos] != '\0'; pos++)
	{
		if (a[pos] == ' ')
		{
			if (pos == 0)
			{
				for (int i = 0; a[i] != '\0'; i++)
					a[i] = a[i + 1];
				pos--;
			}
			else
			{
				if (flag == 0)
				{
					for (int i = pos; a[i] != '\0'; i++)
						a[i] = a[i + 1];
					pos--;
				}
				else
					flag = 0;
			}
		}
		else
			flag = 1;
	}
	if (flag == 0)
		a[pos - 1] = '\0';
	cout << a << endl;
	return 0;
}
int main (){
	char a[300],b[300]={'0'};
	int i,j,n;
	gets(a);
	n=strlen(a);
	j=1;
	b[0]=a[0];
	for(i=1;i<n;i++){
		if(a[i]!=' '){
			b[j]=a[i];
			j++;
		}
		else if(a[i]==' '&&a[i+1]!=' '){
			b[j]=a[i];
			j++;
		}
		
	}
	printf("%s",b);

	return 0;
}
//********************************
//*????1.cpp                **
//*??????????         **
//*?????? 1200012834      **
//*???2012.11.30             **
//********************************


void del(char str[100])         // ????????del
{
	char *p = str;              // ????*p
	int count;                  // count???????????
	for (; *p != '\0'; p++)     // ??????
	{
		if (*p == ' ' && *(p+1) == ' ')  // ????????????????
		{
			char *q, temp;
			count = 0;
			for (q = p + 1; *(q+1) != '\0'; q++) // ??*q?p+1??????
			{
				temp = *q;
				*q = *(q+1);
				*(q+1) = temp;   // ?p+1???????????
				count++;
			}
			*(p+1+count) = '\0';  // ???????????\0??
			p = p - 1;            // ??????????
		}
	}
	cout << str;
}

int main()
{
	char str[100];
	cin.getline(str, 100);  // ?????
	del(str);
	return 0;
}
int main()
{
	int i, j;
	char str[50][20], s;
	for(i=0;;i++)
	{
		scanf("%s",str[i]);
		if(s=getchar()=='\n')break;

	}
	for(j=0;j<i;j++)
	{
		printf("%s ", str[j]);
	}
	printf("%s", str[i]);
	return 0;
}
int main(){
    int i,m;
	char zfc[1000],ans[1000],*p1,*p2;
     gets(zfc);
     p1=zfc;
     p2=ans;
	 m=0;
    for(i = 0; *(p1+i)!='\0'; i++){
		if(*(p1+i)!=' '){
			*(p2+m)=*(p1+i);
			m++;
		}else if(*(p1+i)==' '&&*(p1+i+1)!=' '){
			*(p2+m)=*(p1+i);
			m++;
		}else{
			continue;
		}
	}
    *(p2+m)='\0';
			cout<<p2;
    return 0;
}
int main()
{
    char sentence[10000];
    int i, j;
    cin.getline(sentence, 10000);
    for (i = 0; i < strlen(sentence); )
    {
        if (sentence[i] != ' ')
        {
            cout << sentence[i];
            i++;
        }
        else 
        {
             do
             {
                 i++;
             } while(sentence[i] == ' ');
             cout << ' ';
        }
    }
    
    return 0;
}
void main()
{
   char *str,*p;
   str=(char *)malloc(100*sizeof(char));
   gets(str);
   p=str;
   for (;*p!='\0';p++)
       {  if(*p!=' ') printf("%c",*p);
          else if(*(p-1)!=' ') printf(" ");
        }
}