semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
  char x[100]; //x????????? 
  int i=0,spot; //i?????? spot???? 
  cin.getline(x,100,'\n'); //???????,???????? 
  while(x[i]!=0) //?????\0? ?? 
  {
                       if(x[i]==' '&&x[i+1]==' ')  //??????????????? 
                       {
                                  spot=i; //spot?????? 
                                  while(x[i+1]!=0)
                                  {
                                               x[i+1]=x[i+2];
                                               i++;
                                  };  //???i???????????? ??while?? ????????\0?? 
                                  i=spot-1; //????????????? (??if??i++) 
                       }
                       i++;   //???????       
  };
  i=0;
  while(x[i]!=0)
  {
        cout<<x[i];
        i++;        
  } //?x[i]??\0??? 
 
  return 0;
}
int main()
{
    char a[100] ;
    cin.get( a , 100 , '\n') ;
    //cout << a ;
    int i = 0 ;
    int n = 0 ;
    n = strlen( a ) ;
    for( i = 0 ; i <= n - 1 ; i ++ )
    {
         if( a[i] != 32 )                   //??a[i]??????? 
         cout << a[i] ;
         else if( a[i + 1] != 32 )          //??a[i]?????????????? 
         cout << " " ;
    }
return 0;
}
int main(){
	char a[101];
	cin.getline(a,101);
	int i,j,l;
	l=strlen(a);
	for(i=0;i<l;i++){
		if(a[i]==' '){
			if(a[i+1]==' '){
				for(j=i;j<l;j++){
					a[j]=a[j+1];
				}l--;i--;
			}
		}
	}
	for(j=0;j<l-1;j++)
		cout<<a[j];
	cout<<a[l-1]<<endl;
	return 0;
}
//*********************************
//*??????                         *
//*???????????         *
//*???11?22?                 *
//*********************************
int main()
{
	int i=0,j=0,lena=0;
	char str[102];
	cin.getline(str,102);          //?????????????? 
	lena=strlen(str);            //????????? 
	for(i=0;i<=lena-1;i++)
	{
		if(str[i]!=' '||(str[i]==' '&&str[i+1]!=' '))//?????????? 
			cout<<str[i];//?????????????? 
	}
	return 0;
}
main()
{
    int n,i,j,k=0;
    char a[100];
    gets(a);
    n=strlen(a);
    for(i=1;i<n;i++)
    {
               if(a[i]==' ')
               {
                             if(a[i+1]==' ')
                             {
                                             for(j=i+1;j<n;j++)
                                             {
                                             a[j]=a[j+1];
                                             }
                                             n=n-1;
                                             a[n]='\0';
                                             i=i-1;
                             }
               }
    }
    printf("%s",a);
    getchar();
    getchar();
}
void main(){
	char str[1000];
	int i,len,judge;
	gets(str);
	len=strlen(str);
	judge=0;
	for(i=0;i<len;i++){
		if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')){
			printf("%c",str[i]);
			judge=0;
		}else if(str[i]=='.'){
			printf("%c",str[i]);
			judge=1;
		}else if(str[i]==' '&&judge==0){
			printf("%c",str[i]);
			judge=1;
		}else if(str[i]==' '&&judge==1){
			continue;
		}
	}
	printf("\n");
}
int main()
{
	int i, j, len, count = 0, n;
	char a[101];
	cin.getline(a,101);
	len = strlen(a);
	for ( j = 0, i = 0; i < len; i++ )
		if ( (a[i] != ' ') || (( a[i] ==' ') && ( a[i+1] != ' ')))
			{
				a[j++] = a[i];
		}
		n = j;
	for ( j = 0; j < n; j++ )
	cout<<a[j];
		return 0;
}
int main(int argc, char* argv[])
{ char a[101];
gets(a);
int i,word=0;
for(i=0;i<strlen(a)-1;i++){
	if(a[i]==' ') word=0;
	else word=1;
	if(word==1&&a[i+1]!=' '){
		printf("%c",a[i]);}
	if(word==1&&a[i+1]==' '){
		printf("%c ",a[i]);}
}
printf("%c",a[strlen(a)-1]);

return 0;
}
char* f(char *s,char *t)
{
	int i,j=1;
	t[0]=s[0];
	for(i=1;s[i];i++)
	{
		t[j]=s[i];
		if(s[i-1]==' ' && s[i]==' ')
			;
		else
			j++;
	}
	t[j]=s[i];
	return t;
}
int main()
{
	char s[110],t[110];
	gets(s);
	puts(f(s,t));
	return 0;
}
int main()
{
    char str[100];
    cin.getline( str, 100 );
    char *p = str, *q = NULL;
    int flag = 0;//?????????? 
    for ( p = str; *p != '\0'; p++ )//???????? 
    {
        if ( *p == ' ' && flag == 1 )//???????? 
        { 
             for ( q = p; *q != '\0'; q++ )//???????? 
                 *q = *(q + 1);
             *q = '\0';//???? 
             p--;//???????? 
        } 
        else if ( *p == ' ' && flag == 0 )//???????? 
                flag = 1;//?? 
             else//????????? 
                 flag = 0;
    }
    *p = '\0';//?? 
    cout << str;
    return 0;
}
int main()
{
	int i,j;
	char s[1000];
	gets(s);
    for(i=0;s[i]!='\0';i++)
	{
		
	     printf("%c",s[i]);
		 if(s[i]==' ')
		 {
			 
			 for(j=i+1;s[j]==' ';j++)
			 {
		     	i=i+1;
			 }
			
		 }
		
		
			
	}
	return 0;
}
int main()
{
	int n,i;
	char jz[101];
	char jg[101];
	gets(jz);
	n=strlen(jz);
	int s=0;
	for(i=0;i<n;i++)
	{
		if(jz[i]!=32)
		{
			jg[s]=jz[i];
			s++;
		}
		else
		{
			if(jz[i-1]!=32)
			{
				jg[s]=jz[i];
				s++;
			}
		}
	}
	for(i=0;i<s;i++)
	{
		printf("%c",jg[i]);
	}
	return 0;
}
int main(){
  int n,l,i,m;
  char z[1000],c;
  gets(z);
  l=strlen(z);
  m=l;
  for(int t=0;t<l;t++){
	  for(i=0;i<l;i++){
		  if(z[i]==' '){
			  if(z[i+1]==' '){
				  for(i;i<l;i++){
					  z[i]=z[i+1];
				  }
			      z[m-1]=0;m--;i--;
			  }
		  }
	  } 
  }
  printf("%s",z);
return 0;
}
int main()
{
         char a[1000];
	int i,j;
	cin.getline(a,1000);
	for(i=0;i<strlen(a);i++)
	{
		if(a[i]!=' ')continue;
		else 
		{
			for(j=i+1;j<strlen(a);j++)
			{
				if(a[j]==' ')a[j]='0';
				else break;
			}
		}
	}
	for(i=0;i<strlen(a);i++)
	{
		if(a[i]!='0')cout<<a[i];
	}
	return 0;
}
int main()
{
	char a[101],i;
	cin.getline(a,101);
	char *p1=a;
	for(;*p1!='\0';p1++)
	{
		if(*p1!=' ')
			cout<<*p1;
		if(*p1==' ')
		{
			if(*(p1+1)!=' ')
				cout<<" ";
		}
	}
	cout<<endl;
	return 0;
}
int main()
{
	char str[110];int num=0;int i,x;
	cin.getline(str,110);//?????
    for ( i=0;str[i]!='\0';i++)
	{
		if (str[i]==' ')
		{
			for ( x=i+1;;x++)
			{
				if (str[x]!=' ')//???????????????????????????
			     break;
			}cout<<' ';
			i=x;
		}
		
	
		if (str[i]!=' ') cout<<str[i];//???????????
	}
return 0;

}
int main(){
	int i,j=0;
	char str[101],c[101]="\0";
	cin.getline(str,101);
	for(i=0;i<=strlen(str);i++)
		if (!(str[i]==' '&& str[i+1]==' ')){
			c[j]=str[i];
			j++;
		}
	cout<<c;
	return 0;
}
int main()
{
	int i,j;
	char a[101];
	cin.getline(a,101);
	for(i=2;a[i]!=0;i++)
	{
		if(a[i-1]==' ' && a[i-2]==' ')
		{
			for(j=i-2;a[j+1]!=0;j++)
			{
				a[j]=a[j+1];
			}
			a[j]=0;
			i--;
		}
	}
	for(i=0;a[i]!=0;i++)
		cout<<a[i];
	cout<<endl;

	return 0;
}
int main()
{
    char a[1000];
    gets(a);
    while(1)
    {
         for(int i=0;a[i]!='\0';i++)
         {
             if(a[i]==' '&&a[i+1]==' ')
             {
                 for(int j=i;a[j]!='\0';j++)
                 {
                     a[j]=a[j+1];
                 }
             }
         }
         int z=0;
         for(int i=0;a[i]!='\0';i++)
         {
             if(a[i]==' ')
             {
                 if(a[i+1]==' ')
                 {
                     z++;
                 }
             }
         }
         if (z==0)
         {
             break;
         }
    }
    puts(a);
    return 0;
}
//******************************************
//*??????????.cpp               **
//*?????? 1100012972                **
//*???2011.11.30                       **
//****************************************** 
int main()
{
	char str[1000]; //???????????????
	char *p ; //??????
	cin.getline(str,1000); //????
	p = str; //?p????????????
	for (; *p != '\0'; p++) //??????????
	{
		if (*p != ' ') //????????
			cout << *p; //??????
		else //???????
		{
			if (*(p + 1) != ' ') //????????????
				cout << " "; //????
		}
	}
	return 0;
}
//*****************************
//????1000012825          *
//??????                *
//???12.10                 *
//???????????      *
//*****************************
int main ()
{
	char str[100];
	cin.getline( str ,100 );    //???????
	char *p = str, *q = NULL;   //????
	for ( p = str;  *p != '\0'; p++ )
	{
		if ( *p == ' ' )
		{
			for ( q = p + 1; *q == ' '; q++ )
				*q ='0';  //??????????????????0
		}
	}
	for ( p = str; *p != '\0'; p++ )
	{
		if ( *p != '0')
			cout << *p ;
	}		//?????0??????
	cout << endl;
	return 0;
}
/*
 * guolvduoyudekongge.cpp
 *
 *  Created on: 2011-1-8
 *      Author: dyj
 */


int main(){
	char str[100];
	int n=0,i,j;
	gets(str);
	for(i=0;str[i]!='\0';i++){
		if(str[i]==' '){
			for(j=i;str[j]==' ';j++)
				n++;
			for(;str[j-1]!='\0';j++)
				str[j-n+1]=str[j];
			n=0;
		}
	}
	cout<<str<<endl;
	return 0;
}
int main()
{
    char c[100];
    gets(c);
    for (int i=1;c[i]!='\0';i++)
    {
        if ((c[i-1]==' ')&&(c[i]==' '))
        {
            for (int j=i;c[j]!='\0';j++) c[j]=c[j+1];
            i--;
        }
    }
    puts(c);
    return 0;
}
int main()
{
	char str[ 200 ] , *p , *q ;

	int f ; 

	cin.getline( str , 111 ) ;

	p = str ;

	q = str ;

	for( ; *p != '\0' ; p ++ )
	{
		if( *p == ' ' )
		{
			*q = ' ' ;
			f = 1 ;
		}
		else
		{
			if( f == 1 )
			{
				q ++ ;
				f = 0 ;
			}

			*( q++ ) = *p ;
		}
	}

	*q = '\0' ;

	q = str ;

	cout << q << endl ;

	return 0 ;
}
int main()
{
    int i=0,flag=0;
    char buffer[10000];
    gets(buffer);//however gets is dangerous
    
while(buffer[i])
    {
        if(flag) // spaced
        {
            if(buffer[i]!=' ')
            {
                printf("%c",buffer[i]);
                flag=0;//reset flag
            }
        }
        else if(!flag) //not spaced
        {
 
           printf("%c",buffer[i]);
            if(buffer[i]==' ')
                flag=1;//set flag
        }
        i++;
    }
    return 0;
}
int main(){
	char a[101];
	cin.getline(a,101);
	int b=strlen(a),j;
	for(int i=0;i<b;i++){
		if(a[i]==' ')
		if(a[i+1]==' '){
			for(j=i+1;j<b;j++)
				a[j]=a[j+1];
			i--;
		}
	}
	cout<<a<<endl;
	return 0;
}
// ???????.cpp : Defines the entry point for the console application.
// ????????????????????
int main()
{
	char a[100];                              //??????a[100]??????????                 
	int i=0,j=0;                              //??i?j?????0
	cin.get(a,101);                           //??
	for(i=0;i<strlen(a);i++)                  //for??
	{
		if(a[i]==' ')                         //???????
		{
			for(j=i+1;j<100;j++)              //for??
			{
				if(a[j]==' ')                 //??a[j]??????-1??
					a[j]=-1;
				if(a[j]!=' '&&a[j]!=-1)                 //??a[j]????????-1??????
					break;
            }
				
		}
	}
	for(i=0;i<strlen(a);i++)                  //for?????a[i]??-1????a[i]
	{
		if(a[i]!=-1)
			cout<<a[i];
	}
	return 0;
}
int main()
{

  char s[101];
  char *p=s;
  



  cin.getline(s,sizeof(s));
  cout<<*p;
  p++;
  while(*p!='\0')
  {
	  if(*p!=32 || *p==32 && *(p-1)!=32)
	  {
	  cout<<*p;
	  }
	  p++;
  }
  



  





 


 

 

  
 


  





  

 
 return 0;

}
int main()
{
	char s[100];
	int n,i;
	gets(s);
	n=strlen(s);
	for(i=0;i<n-1;i++)
	{
		if(s[i]!=' ')
			printf("%c",s[i]);
		else
		{
			if(s[i+1]==' ') continue;
			else 
				printf(" ");
		}
	}
	printf("%c",s[n-1]);
	return 0;
}
int main()
{
	char str[300]={' '},a[300]={' '};
	int j,i,k;
	gets(str);
	k=0;
	
	for(i=0;i<200;i++)
	{   
		
		for(j=k;j<200;j++)
		{
			if(str[j+1]!=' '||str[j]!=' ')
			{
				a[i]=str[j];
			    k=j+1;
			    break;
			}
			else;
		}
	}
    puts(a);
   
	return 0;

   

}
int main(){
    int i,k;
    char a[200];
    gets(a);
    for(i=0;a[i]!='\0';i++){
        while(a[i]==' '&&a[i+1]==' '){
            for(k=i;a[k]!='\0';k++){
                a[k]=a[k+1];
            }
        }
    }
    for(i=0;a[i]!='\0';i++){
        printf("%c",a[i]);
    }
    return 0;
}
/*
@file 1000012837_1.cpp
@date 20101208
@author ???
@description ???????
*/
int main()
{
	char str[101], *p = NULL;
	int l, flag = 0;
	cin.get(str, 101);//?????
	l = strlen(str);//l??????
	for(p = str; p < str + l; p++)//????????????????
	{
		if(*p == ' ')	//???????
		{
			//?????????????????1??????????????
			if(flag == 0)	
			{
				cout << *p;
				flag = 1;	
			}
		}
		else	//???????????0??????
		{
			flag = 0;
			cout << *p;
		}
	}
	return 0;
}
int main()
{
 char a[101],c;
 int i=1;
 while((c=cin.get())!='\n')
 {
  a[i]=c;
  if(a[i]==' ')
  {
   if(a[i]==a[i-1]) 
   {i++;continue;}
   else 
   {cout<<" ";i++;}
  }
  else
  {
	cout<<a[i];i++;
  }
 }
 return 0;
}
int main()
{
 char str[100];
 while (cin.getline(str, 101, '\n'))
 {
  if (str[0] == '\n')
   continue;
  int slen = strlen(str);
  for (char *p = str; p != &str[slen]; p++)
  {
   if (*p == ' ')
   {
    if (*(p + 1) != ' ')
     cout << ' ';
   }
   else
    cout << *p;
  }
  cout << endl;
 }
 return 0;
}
int main (){
	char a[100],b[100];
	gets(a);
	int c=strlen(a),d=0,i;
	for (i=0;i<c;i++){
		if (a[i]==' '&&a[i+1]==' '){
			d++;
			continue;
		}
		else{
			b[i-d]=a[i];
		}
	}
	b[i-d]='\0';
	puts(b);
	return 0;
}
int main()
{
	int i,num=0;
	char str[105];
	cin.getline(str,105);
	char *p=str;
	for(i=0;i<strlen(str);i++)
	{
		if(*(p+i)!=' ')
			{
				cout<<*(p+i);
				num=0;
		    }
		if(*(p+i)==' '&&num==0)
			{
				cout<<' ';
				num++;
		    }
		
	}
	return 0;
}
int main(){
char a[300],b[300];
int l,i,j,k,m;
gets(a);
l=strlen(a);
for(i=0,j=0;i<l;i++,j++){
k=0;
b[j]=a[i];
if(a[i]==' '){
for(m=i+1;m<l;m++){
if(a[m]==' '){
k++;
}
else{
break;
}}
i=i+k;
}}
b[j]='\0';
puts(b);
return 0;
}
int main(){
    int i,t,n;
    char f[101],g[101];
    for(i=0;i<101;i++){g[i]='\0';}
    gets(f);
    n=strlen(f);
    for(i=0,t=0;i<n;i++){
        if(f[i]!=' '){g[t]=f[i];t++;}
        else{if(f[i+1]!=' '){g[t]=' ';t++;}}
    }
    printf("%s",g);
    return 0;
}
main()
{
      char a[100];
      gets(a);
      for (int i=0;a[i]!='\0';i++)
      {
          if(a[i]==' ' && a[i-1]==' '); 
          else
          printf("%c",a[i]);
      }
}
int main(){
	char sentence[101],result[101];
	gets(sentence);
	int l;
	l=strlen(sentence);
	int i,j=0;
	for(i=0;i<l;i++){
		while(sentence[i]==' '&&sentence[i+1]==' '){
			i++;
		}
		result[j]=sentence[i];
		j++;
		if(i==l-1){
		result[j]='\0';

		}
	}
	int n=strlen(result);
	for(i=0;i<n;i++){
	printf("%c",result[i]);
	}
	
	return 0;
}
void main()
{
	char a[100]={0},b[100]={0};
	gets(a);
	int len;
	int i=0,j=0;
	len=strlen(a);
	for(i=0,j=0;i<len;i++)
	{
		if(a[i]!=' ')
		{
			b[j]=a[i];
			j++;
		}
		if(a[i]==' ')
		{
			if(a[i+1]!=' ')
			{
				b[j]=a[i];
				j++;
			}
		}
	}
	puts(b);
}
int main(){
	char jz[102];
	int i;
	gets(jz);
	for(i=0;jz[i]!='\0';i++){
        if(jz[i]==' '&&jz[i+1]!=' '||jz[i]!=' '){
			printf("%c",jz[i]);
		}
	}
	return 0;
}
void main()
{
    char *p,*p0,*q;
    p0=p=(char *)malloc(100*sizeof(char));
    q=(char *)malloc(100*sizeof(char));
    gets(p);
    for(p=p0;*p!='\0';p++)
    {
        if(*p!=' ')printf("%c",*p);
        else for(q=p;*q!='\0';q++)
            if(*q!=' ')
            {
                p=q-1;
                printf(" ");
                break;
            }
    }
}
int main()
{
        char a[101];
        int i;
        gets(a);

        for (i=0;i<strlen(a);i++) {
                if (a[i]!=' ')
                        printf("%c",a[i]);
                else if (a[i]==' ') {
                        if (a[i+1]==' ') {
                                do {
                                        ++i;
                                } while (a[i]==' ');
                                printf(" ");


                                printf("%c",a[i]);
                        } else printf(" ");
                }

        }

        return 0;
}
//??????????????????????????????????????
int main()
{
	char str[100]={" "};//??????????
	int i=0;
	cin.get(str,100,'\n');//?????
	for(i=1;i<strlen(str)-1;i++)
	{
		if(str[i]==' '&&str[i+1]==' ')//??????????????????????/
			str[i+1]='/';
		else if(str[i]=='/'&&str[i+1]==' ')//??????????/??????????????????????????????/
			str[i+1]='/';
	}
	for(i=0;i<=strlen(str)-1;i++)//????????????/????
		if(str[i]!='/')
			cout<<str[i];
	return 0;
}
main()
{
      int l,i,k;
      char a[10000],b[10000];
      gets(a);
      l=strlen(a);
      b[0]=a[0];
      for(i=1,k=1;i<l;i++)
      {
                      if(a[i]==' '&&a[i-1]==' ')
                      {}
                      else
                      {b[k]=a[i];k++;}
      }
      puts(b);
      getchar();
      getchar();
}
int main()
{
    char s[100];
	int flag=1;
    int i;
    gets(s);
   for(i=0;i<strlen(s);i++)
   if(s[i]==' ') flag=0;
   else {if(flag==0) printf(" ");
           printf("%c",s[i]),flag=1;}
    return 0;
}
void main()
{
	char *p,*p_1,*p2;
	p=(char*)malloc(1000*sizeof(char));
	p_1=p;
    gets(p);;
	for(p=p_1;*p!='\0';p++)
		if(*p==' ')
			if(*(p2=(p+1))==' ')
			{
				for(;*p2!='\0';p2++)
					*p2=*(p2+1);
				p--;
			}
	for(p=p_1;*p!='\0';p++)
		printf("%c",*p);
}
int main()
{
	int l,i,j=1;
	char a[100],b[100];
	gets(a);
    l=strlen(a);
	b[0]=a[0];
	for(i=1;i<l;i++)
	{
		if(a[i-1]==' ' && a[i]==' ')
			continue;
        b[j]=a[i];
		j++;
	}
	for(i=0;i<j;i++)
		printf("%c",b[i]);
	printf("\n");
	return 0;
}
int main()
{
	int i;
	char a[101];
	cin.getline(a, 101);
	char *p = a;
	for (i = 0; i < strlen(a); i++)
	{
		if (a[i] == ' ' && a[i + 1] == ' ')
			p++;
		else
		{
			cout << *p;
			p++;
		}
	}
	cin >> i;
	return 0;
}
int main()
{
	char str[100];
	gets(str);
	for(int i=0;i<strlen(str);i++)
	{
		if(str[i]==' ' && str[i+1]==' ')
		{
			for(int j=i;j<strlen(str);j++)
				str[j]=str[j+1];
			i--;
		}
	}
	cout<<str<<endl;
	return 0;
}
int main()
{
	char input[101],res[101],last;
	int len,i,j = 0;
	gets(input);
	last = input[0];
	len = strlen(input);
	for(i = 0;i < len;i++)
	{
		if(last == input[i] && last == ' ')
			continue;
		else
			res[j++] = input[i];
		last = input[i];
	}
	res[j] = '\0';
	printf("%s\n",res);

	return 0;
}
int main()
{
	char s[100];
	gets(s);
	int a,i,j;
	int b;
	b=a=strlen(s);
	for(i=1;i<a;){
		if(s[i]==' '&&s[i-1]==' '){
			for(j=i;j<b-1;j++){
				s[j]=s[j+1];
			}
			b--;
		}
		else{i++;
		}
	}
	s[b]='\0';
	puts(s);
	return 0;
}
int main()
{
    char a[200],b[200];
    gets(a);
    int n=strlen(a);
    int i,flag=0,t=0;
    for(i=0;i<n;i++)
    {
        if((a[i]==' ')&&t==0)

           {b[flag++]=a[i];t=1;}
           else if(a[i]!=' ')
           {b[flag++]=a[i];t=0;}
           else if(a[i]==' '&&t!=0)
           continue;

    }
    for(i=0;i<flag;i++)
    printf("%c",b[i]);
}
int main(){
    char zfc[101],jg[101];
    int i,m=0;
    gets(zfc);
    for(i=0;zfc[i]!='\0';i++){
        if(zfc[i]!=' '){
            jg[m]=zfc[i];
            m+=1;
        }else if(zfc[i]==' '&&zfc[i+1]!=' '){
            jg[m]=zfc[i];
            m+=1;
        }else{
            continue;
        }
    }
     jg[m]='\0';
      printf("%s\n",jg);
    return 0;
}
int main()
{
         char str1[100],str2[100];             //?????????
	cin.getline(str1,100);                //?str1??
	int k=0;
         int flag=0; 
	for(int i=0;str1[i]!='\0';i++)         //for ??
	{
		if((str1[i]==' ')&&(flag==0))      //?????????0
		{
		    	flag=1;                    //????1
			    str2[k]=str1[i];           //????str2?
				k++;
		 }
		 if(str1[i]!=' ')                   //??????
		 {
			   flag=0;                      //???0
			   str2[k]=str1[i];             //??str2?
			   k++; 
		 }
		
	}
	for(int j=0;j<k;j++)                     //??str2
		cout<<str2[j];
	return 0;
}
void main()
{ char s[100];
	int i;
	gets(s);
	for(i=0;i<strlen(s);i++){
		if(s[i]!=' '||s[i]==' '&&s[i-1]!=' ')
		printf("%c",s[i]);
		else
	
		continue;
		}
}
int main(){
   int i,j,m,n;
    j=0;
    m=0;
  char x[100],*a,y[100];
   gets(x);
  for(a=x;*a!='\0';a++)
     { 
        if(*a!=' ');
           {y[j]=*a;
              j++;}
            
         if(*a==' ')
           {
        
            while(*a==' ')
             {a++; }
             a--;
	        }
              
        }
      y[j]='\0';
    printf("%s",y);

      return 0;

    }
main()
{
    int i;
    char str[100];
    gets(str);
    i=0;
    while(str[i]!='\0')
    {
        if(str[i]==' '&&str[i+1]!=' ')
    printf(" ");
    if(str[i]!=' ')
    printf("%c",str[i]);
    i++;
    }
}
int main(int argc, char *argv[])
{
    char *p,a[101];
    for(p=gets(a);*p;p++)
    {
        if(*p==' '&&*(p-1)==' ') continue;
        printf("%c",*p);
    }
    return 0;
}
int main()
{
	char str[100][20];  //?????????
	char (*p)[20]=NULL;  //???????????
	int n=0,i;
	while(cin>>str[n])
		n++;  //???????
	p=str;  //????????????p
	cout<<*p;  //p?????????????
	for(i=1;i<n;i++)
		cout<<' '<<*(p+i);  //??????
	cout<<endl;
	return 0;
}
int main()
{
    int i,j=0,n=0,l;
    char sen[101],nsen[101];
    gets(sen);
    l=strlen(sen);
    for(i=0;i<=l;i++){
        if(sen[i]!=' '||(n==0&&sen[i]==' ')||i==l){
          nsen[j]=sen[i];           
          j++;
          } 
        if(sen[i]==' ')
           n++;
        if(sen[i]!=' ')
           n=0;
        }
    puts(nsen);
    return 0;
}
int main()
{
  char a[100];
  int i;
  gets(a);
  int m=strlen(a);
  for(i=0;i<m;i++)
  {
    if(a[i]==' '&&a[i+1]==' ')
    printf("");
    else  printf("%c",a[i]);

  }
  return 0;
}
int main()
{
	char a[200];
	int len,i,j,k,num=0;

	cin.getline(a,200);
	len=strlen(a);
	for(k=0;k<len;k++){
	num=0;
	for(i=0;i<len;i++){
		if(a[i]==' '){
			if(a[i+1]==' '){
			num++;
			for(j=i;j<=len-num;j++)
				a[j]=a[j+1];
		}
		}
	}
	}
	len=strlen(a);
	for(i=0;i<len;i++)
		cout<<a[i];
	return 0;
}
int main()
{
char a[101];
gets(a);
int l=strlen(a);
int k=1;
char b[101];
b[0]=a[0];
for(int i=1;i<=l;i++)
{
if(a[i]!=' ')
{b[k]=a[i];
k++;continue;}
if(a[i-1]!=' ')
{b[k]=a[i];
k++;continue;}
}
printf("%s",b);
return 0;
}
int main()
{
	char str[101];//??????
	cin.getline(str,101);  // ?????
	int len;       //??????
	len=strlen(str);    //???????
	for(int i=0;i<=len;i++)     //??????i
		if(str[i]==' '&&str[i+1]==' ')     //???i????i+1??????????????
		{
			for(int j=i+1;j<len;j++)//??????j,
				str[j]=str[j+1];//?i+2?????????
			i=i-1;  //?i??
		}
		cout<<str<<endl;//????????
		return 0;
}
/*
 * guolv.cpp
 *
 *  Created on: 2011-1-8
 *      Author: qaj
 */
int main(){
	char ch[100];
	cin.getline(ch,100);
	int l=strlen(ch);
	for(int i=0;i<l;i++){
		if((ch[i]==' ')&&(ch[i+1]==' ')){
			for(int j=i;j<l;j++){
				ch[j]=ch[j+1];
			}
			i--;
		}
	}
	cout<<ch;
	return 0;
}
int main()
{
	char c[101];
	int empty=0;
	int i;	
	gets(c);
	for (i=0;;i++)
	{
		if (c[i]==0) break;
		else if (c[i]==' '&&empty==0) {printf(" ");empty++;}
		else if (c[i]!=' ') {printf("%c",c[i]);empty=0;}
	}
    return 0;
}
//-----------------
//  ??????
//    ????
//     ???
//-----------------


int main()
{
	int i=0,j=0,blank=0;          //i,j??, blank?????
	char str[101];
	cin.get(str,101,'\n');  //????
	while(str[i]!='\0')
	{
		if(str[i]==' ')
		{
			blank++;
	    	if(str[i+1]!=' ')
	    	{
			   if(blank>1) 
			   {
				   j=i+1;
				   while(str[j]!='\0')
				   {
					   str[j-blank+1]=str[j];
					   j++;
				   }
				   str[j-blank+1]='\0';
				   i=i-blank+1;
				   blank=0;
			   }
			   if(blank==1) blank=0;
	    	}
		}
		i++;
	}
	for(j=0;j<i;j++)
		cout<<str[j];
	return 0;

}
const int maxLen = 1000;

char s[maxLen+1];
char t[maxLen+1];
int main()
{
    int i,len;
    int index ;
    while(gets(s)!=NULL)
    {
        len = strlen(s);
        for(i=0;s[i]==' ';i++) ;  // ?????? 
        
        index = 0;
        for(;i<len;i++)
        {
            if(s[i]!=' ')
            {
                t[index++] = s[i]; //???????????? 
            }
            else
            {
                if(s[i-1] != ' ') t[index++] = ' '; //????????????? 
            }
        }      
        if(index>0&&t[index-1]==' ')t[index-1]='\0';  //??????????
        else t[index] = '\0';
        puts(t);
    }
    
    return 0;        
}
int main()
{
	int i;
	char s[1001];
	gets(s);
	i=0;
	while(s[i]!='\0')
	{
		while(s[i]!=' '&&s[i]!='\0')
		{
			printf("%c",s[i]);
			i++;
		}
		if(s[i]!='\0')
		    printf(" ");
		while(s[i]==' ')
		{
			i++;
		}
	}
	return 0;
}
int main(){
    char a[101];
    gets(a);
    int m=strlen(a)+1;
    char*b;
    b=(char*)malloc(sizeof(char)*m);
    int i,k=0;
    for(i=0;i<m-2;i++){
         if(a[i]!=32){
              b[k]=a[i];
              k++;
         }else if(a[i]==32&&a[i+1]==32){
              continue;
         }else if(a[i]==32&&a[i+1]!=32){
              b[k]=32;
              k++;
         }
    }
    b[k]=a[m-2];
    b[k+1]='\0';
    char*c;
    c=(char*)malloc(sizeof(char)*(k+2));
    for(i=0;i<k+1;i++){
       c[i]=b[i];
    }
    puts(c);
    return 0;
}