semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int i,count=0,weizhi[100];
	char zf[200];
	gets(zf);
	for(i=0;i<strlen(zf);i++)
	{
		if(zf[i]==' ');
		{
			weizhi[count]=i;
		}
	}
	for(i=0;i<strlen(zf);i++)
	{
		if(zf[i]!=' ')
		{
			printf("%c",zf[i]);
		}
		else if(zf[i]==' ')
		{
			printf(" ");
			while(1)
			{
				if(zf[i+1]==' ')
				{
					i++;
				}
				else
				{
					break;
				}
			}
		}
	}
	return 0;
}
int main()
{
	char str1[100],str2[100]={'\0'},str3[2];//str1?str2????????????????str3?????????
	int i;
	cin.getline(str1,100);
	for(i=0;i<strlen(str1);i++)//???????????????str2
	{
		if(str1[i]!=' '||str1[i]==' '&&str1[i+1]!=' ')
		{
			str3[0]=str1[i];
			str3[1]='\0';
			strcat(str2,str3);
		}
	}
	cout<<str2;
	return 0;
}
int main()
{
	char str1[101],str2[101];
	gets(str1);
	char *p1,*p2;
	for(p1=str1,p2=str2;*p1!='\0';p1++)
	{
		if(*p1!=' ')
		{
			*p2=*p1;
			p2++;
		}
		if((*p1==' ')&&(*(p1+1)!=' '))
		{
			*p2=' ';p2++;
		}
	}
	*p2='\0';
	cout<<str2<<endl;
	return 0;
}
main()
{
     char string1[100],string2[100];
     gets(string1);
     int l=strlen(string1);
     int i,j,count=0;
     for(i=0;i<100;i++)
        string2[i]='\0';
     for(i=0;i<l;i++)
     {
        if(string1[i]!=32)
        {             
         string2[count]=string1[i];
         count++;
         } 
        else
        {
           string2[count]=string1[i];
           count++;
           for(j=i+1;string1[j]==32;j++);
           i=j-1;
        }
     }
     printf("%s",string2);
     getchar();
     getchar();
}
int main()
{
	char a[110]={0};
	gets(a);
	int i;
	int count=0;
	for(i=0;i<100;i++)
	{
		if(a[i]!=0)
		{
			count++;
		}
	}
	for(i=0;i<count;i++)
	{
		if(a[i]==32&&a[i+1]==32)
		{
			continue;
		}
		printf("%c",a[i]);
	}
	return 0;
}
int main(int argc, char* argv[])
{ 
int q=0,i,j;
char tra[1000],yaode[1000];
gets(tra);
for(i=0,j=0;i<1000;i++)	
if(tra[i]!=' ')
{
		yaode[j]=tra[i];
	    j++;
		q=0;
	}
	else
		if(tra[i]==' '&&q==0){
			yaode[j]=tra[i];
			q++;
			j++;
		}
		else 
			if(tra[i]=='.'){
				yaode[j]=tra[i];
				break;
			}
			printf("%s",yaode);

	return 0;
}
int main()
{
    char str[1000],str1[1000];
    int i,j=0;
    gets(str);
    for(i=0;i<strlen(str);i++)
    {if(str[i]!=' '||str[i+1]!=' ')
    {str1[j]=str[i];j++;}
}
  for(i=0;i<j;i++)
  {printf("%c",str1[i]);}
getchar();
getchar();
}
int main(){
	char str[101];
	int len,i,u;
	gets(str);
	len=strlen(str);
	for(i=len-1;i>0;i--){
		if(str[i]==' '&&str[i-1]==' '){
			for(u=i;u<=len;u++){
				str[u]=str[u+1];
			}
		}
	}
	puts(str);
	return 0;
}
int main(){
	int i,k,j,p=0;
	char zfc[101];
	gets(zfc);
	k=strlen(zfc);
	for(i=0;i<k;i++){
		if((zfc[i]==' ')&&(zfc[i+1]==' ')){
			for(j=i;j<k-1;j++){
				zfc[j]=zfc[j+1];
			}
			i--;
			p++;
		}
	}
	zfc[k-p]=0;

	printf("%s",zfc);
	return 0;
}
int main()
{
	char str[101];
	int i, j, num, a;
	cin.getline (str, 101);
	num = strlen(str);
	for (i = 0; i < num; i++)
	{
		a = 0;
		if (str[i] == '\0')
			break;
		if (str[i] == ' ')
		{
			for (j = i; j < num; j++)
			{
				if (str[j] != ' ')
					break;
				a++;
			}
			for (j = i + 1; j < num; j++)
				str[j] = str[j + a - 1];
		}
	}
	cout << str << endl;
	return 0;
}
int main()
{
char s[101];
char ss[100];
gets(s);
int i,j=0;
for(i=0;i<strlen(s);i++)
  {
  if(s[i]!=' ')
    {
   ss[j]=s[i];
      j++;
    }
   else if(s[i]==' '&&s[i+1]!=' ')
     {
       ss[j]=' ';
       ss[j+1]=s[i+1];
      j++;
   }
    
 }
 int m;
for(m=0;m<j;m++)
    {
    printf("%c",ss[m]);
     }
 return 0;
}
int main()
{
	char str1[10000],str2[10000];
	int i=0,k=1;
	cin.getline(str1,10000);
	str2[0]=str1[0];
	for(i=1;i<10000;i++)
	{
		if((str1[i]!=' ')||((str1[i-1]!=' ')&&(str1[i+1]==' '))||((str1[i-1]!=' ')&&(str1[i+1]!=' ')))
		{
			str2[k]=str1[i];
			k=k+1;
		}
	}
	cout<<str2<<endl;
	return 0;
}
int main()
{
	int ls,i,word,num;
	char s[100],s1[100][100];
	gets(s);
	ls=strlen(s);
	word=0;
	num=0;
	for(i=0;i<ls;i++)
	{
		if(s[i]!=' ')s1[word][num++]=s[i];
		else{
			while(s[i]==' ')i++;
			i--;
			s1[word][num]='\0';
			word++;
			num=0;
		}
	}
	for(i=0;i<=word;i++)
	{
	printf("%s",s1[i]);
	if(i!=word)printf(" ");
	}


        return 0;
}
int main()
{
	int i=0;
	char c;
    while((c=getchar())!='\n')
	{
     if(c==' ')
	 {
		 if(i==0)
		 {
			 putchar(c);
		     i++;
		 }
	 }
	 else 
	 {
		 putchar(c);
	     i=0;
	 }
	}
	return 0;
}
int main(int argc, char* argv[])
{
char string[101];
gets(string);
int i,word=1;
for(i=0;i<strlen(string);i++){
	if(string[i]!=' ') word=1;
if(word==1) printf("%c",string[i]);
if(string[i]==' ') 
	word=0;}

	return 0;
}
void main()
{
	char str1[100],str2[100];
	int i,len,j=0;
	gets(str1);
	len=strlen(str1);
	for(i=0;i<len;i++)
	{
		if(str1[i]!=' ')
		{
			str2[j]=str1[i];
			j++;
		}
		else
		{
			if(str1[i+1]!=' ')
			{
				str2[j]=str1[i];
				j++;
			}
		}
	}
	str2[j]='\0';
	printf("%s",str2);
}
int main (){
char t[150],x[150];
gets(t);
int i,j;
for (i=0,j=0;t[i]!='\0';i++,j++){
	if ((t[i]!=' ')||((t[i]=' ')&&(t[i-1]!=' '))){
		x[j]=t[i];	
	}
	else {j--;}
}
x[j]='\0';
printf ("%s",x);
return 0;
}
int main()
{
	char tmp[102]={0},*p=tmp+1,prev;
	gets(tmp+1);
	prev=tmp[0];
	do{
		if(prev!=' '||prev!=*p)
			putchar(*p);
		prev=*p++;
	}while(*p);
	putchar('\n');
		
	
	return 0;
}
/*
 * 1.cpp
 *
 *  Created on: 2011-1-8
 *      Author: 10040
 */

int main(){
	char str[225];
	cin.getline(str, 225);
	int len = strlen(str);\
	int i=1;
	while(i<len){
		if(str[i]==' ' && str[i-1]==' '){
			for(int j=i; j<len-1; j++){
				str[j] = str[j+1];
			}
			len--;
			continue;
		}
		i++;
	}
	str[len]=0;
	cout << str << endl;

	return 0;
}
int main()
{
	char s[101],y[101];
	int i,j=0,n;
	gets(s);
	n=strlen(s);
	for(i=0;i<n;i++){
		if((s[i]!=' ')||((s[i]==' ')&&(s[i+1]!=' '))){
			y[j]=s[i];
			j++;
		}
	}
	y[j]='\0';
	puts(y);
	return 0;
}
int main()
{
	int i,j,k;
	char a[10000];
	cin.getline(a,10000);
	for(i=0;i<strlen(a)-1;i++)
	{
		if(a[i]==' '&&a[i+1]==' ')
		{
			k=0;
			for(j=i;j<strlen(a);j++)
			{
				if(a[j]==' ')
				{
					k=k+1;
				}
				else
				{
					i=i+k-1;
					cout<<' ';
					break;
				}
			}
		}
		else
		{
			cout<<a[i];
		}
	}
	cout<<a[strlen(a)-1]<<endl;
	return 0;
}
int main()
{
	char a[101];                                //???????????
	cin.get(a,101,'\n');                //?????????
	for(int i=0;i<strlen(a);i++)        //????
	{
		if(a[i]!=' ')                     //????????????????
			cout<<a[i];
		else if(a[i+1]!=' ')             //??????????????????????????????
			cout<<a[i];
		else continue;                     //????????????????????????
	}
	return 0;
}
int main(){
	char s[101];
	cin.getline(s,101);
	int l=strlen(s);
	for(int i=0;i<l;i++){
		if(s[i]!=' '){
			cout<<s[i];
			if(i<l-1&&s[i+1]==' ')
				cout<<' ';
		}
	}
	return 0;
}
int main()
{
	char a[101], *p = a;
	cin.getline(a, 101);
	while (*p != '\0')
	{
		cout << *p;
		if (*p == ' ')
		{
			while (*++p == ' ')
			{
			}
			p--;
		}
		p++;
	}
	return 0;
}
int main()
{
	char m[102];
	cin.getline(m,102);
	int len=strlen(m);
	for(int i=0;i<len;i++)
	{
		if(m[i]==' ')
		{
			if(m[i-1]!=' ')
				cout<<m[i];
		}
		else
			cout<<m[i];
	}
	cout<<endl;
	return 0;
}
int main()
{
	char str[101]={0};
	const char temp=' ';
	int x=0,i=0,j=0,count=0;
	cin.get(str,101);
	x=strlen(str);
	for(i=1;i<=x-3;i++)
	{
		if(str[i]==temp&&str[i+1]==temp)
		{
			for(j=i;j<=x-1;j++)
			{
				str[j]=str[j+1];
			}
			i=i-1;
		}
	}
	cout<<str;
	return 0;
}
int main()
{
	int l,i,k=0;
	char s[101],b[101];
	gets(s);
	l=strlen(s);
	for(i=0;i<l;i++)
	{
		if(s[i]==' '&&s[i+1]==' ')
		{ b[k++]=s[i];
			while(s[i]==' ')
			{
				i++;
			}
			b[k++]=s[i];
		}
		else b[k++]=s[i];
	}
	b[k]='\0';
	printf("%s",b);

return 0;
}
int main () {
    char zf[101];
    int i;
    gets(zf);
    int l;
    l = strlen(zf);
    for(i=0;i<l;i++){
        if(zf[i]==' '){
           if(zf[i+1]==' '){
              zf[i+1] = '\0';           
           }      
        }
        if(zf[i]=='\0'){
           if(zf[i+1]==' '){
              zf[i+1] = '\0';           
           }             
        }
        if(zf[i]!='\0'){
           printf("%c",zf[i]);             
        }                                                    
    }
    return 0;
}
int main ()
{
	char a[100];
	cin.getline ( a,100 );
	int l=strlen (a);
	for ( int i=0; i<l; i++ )
		{
			if ( a[i]!=' ' )
			cout<<a[i];
			else
			{
				cout<<' ';
				while (1)
				{
					if ( a[i+1]!=' ' )
					{
						cout<<a[i+1];
						i=i+1;
						break;
					}
					else
					{
						i++;
						continue;
					}
				}
			}
		}
			return 0;
}
int main()
{
	char a[100];
	char c;
	int i=0;
	//i????
	while (cin.get(c))
	{
		if (c=='\n')
			break;
		else
		{a[i]=c;
		i=i+1;}
	}

	int j=0;
	int count=0;
	//count????????
	for (j=0;j<=i;j++)
	{
		if (j==i)
			break;
		if (a[j]!=' ')
		{
			cout<<a[j];
			count=0;
		}
		if (a[j]==' '&&count==0)
		{
			count=count+1;
			cout<<a[j];
		}
		if (a[j]==' '&&count==1)
		{
			count=1;
		}
		
	}

	return 0;
}

//while(c=getchar( ))
int main()
{
	char string[101];
	int i;
	gets(string);
	printf("%c",string[0]);
	for(i=1;(string[i])!='\0';i++)
	{
		if(string[i]!=' ')  printf("%c",string[i]);
		else
		{
			if(string[i-1]!=' ')   printf(" ");
		}
	}
	return 0;
}
int main()
{
 char s[100];
 gets(s);
 int i,j,l;
 l=strlen(s);
 for(i=0;i<l;i++)
 {
  if(s[i]==' '&&s[i+1]==' ')
  {
   for(j=i+1;j<l-1;j++)
   {
    s[j]=s[j+1];                  
   }
   l--;
   i--;           
  }               
 }
 for(i=0;i<l;i++)
  printf("%c",s[i]);
 getchar();
 getchar();
 return 0;    
}
int main()
{
	char * p=NULL;//??????
	char a[101];
	int c[101];
	
	memset (c,0,sizeof(c));//???????
    	
	cin.getline(a,101,'\n');
	int i,n=0;
	for(i=0;i<=100;i++)
	{if(a[i]!='\0')n++;
	else break;
	}
	
	p=&a[0];
   	for(i=0;*(p+i)!='\0';i++)                 //??????????
         if(*(p+i)!=32||(*(p+i)==32&&*(p+i+1)!=32))
			 c[i]=1;
		 
	for(i=0;i<=n-1;i++)
		if(c[i])cout<<a[i];
		cout<<endl;
    return 0;
}
main()
{
	char a[1000],*b;
	gets(a);
	for (b = a;*b != 0;b++)
		if(!(*b == ' ' && *(b - 1) == ' '))
			printf("%c",*b);
	printf("\n");
	getchar();
}
int main()
{
    char zfc[1000],cs[1000];
memset(zfc,0,1000);
memset(cs,0,1000);
int y,e=0,j=0,i=0;
gets(zfc);
    y=strlen(zfc);
while(i<y){
e=0;
cs[j]=zfc[i];
if(zfc[i]==' '){
for(int a=i+1;a<y;a++){
if(zfc[a]==' '){
e++;
continue;
}
else{
break;
}
}
i=i+e;
}
j++;
i++;
}
cs[j+1]='\0';
printf("%s",cs);
return 0;
}
//*******************************************************************
//* ???????????   										*
//* ?????????????????								*
//*??? ???													*
//*???2010?12?8?												*
//*******************************************************************
int main()
{
	char str[100];
	cin.getline(str, 100);                           //???????????
	char * p = str;                                  //?????????????????????
	int i, j;
	int count = 0;                                   //??count??????????
	for (i = 0; *(p + i) != '\0'; i ++)              //??????
	{
		
		if(*(p+i) == ' ')                  
			count ++;                               //?????????????
		if (count == 1 && *(p+i) != ' ')            //?????????????????0
		 count = 0;
		if( count >= 2 && *(str+i) != ' ')           //?????????
		{
			for (j = i - count + 1; *(p+j) != '\0'; j ++)//???????
			 *(p+j) = *(p+j + count - 1);
			i -= count;
			count = 0;                       //????????0
		}
		
	}
	       //????
	cout << str;
	cout << endl;
	return 0;
}
int main()
{
   int i,j=0;
   char sz[101],a[101];
   gets(sz);
   int n=strlen(sz);
   for(i=0;i<n-1;i++){
    if(sz[i]==' '&&sz[i+1]==' '){continue;}else if(sz[i]!=' '||(sz[i]==' '&&sz[i+1]!=' ')){a[j]=sz[i]; j++;}}
    a[j]=sz[n-1];
   a[j+1]='\0';
    printf("%s",a);
return 0;
}
int main()
{
char* str;
int i,l;
str = (char *)malloc(1000 * sizeof(char));
gets(str);
l=strlen(str);
for(i=0;i<l;i++,str++)
{
	if(*str==' '&&*(str+1)==' ') i=i;
	else
	
		printf("%c",*str);
	
	
	}
return 0;
}
int main()
{
	int i, j, n,a, b[101] = { 0 };
	char str[101];
	cin.getline(str,101);
	a=strlen(str);
	for(i=0;i<a;i++)
	{
		n=0;
		if(str[i]==' '&&str[i+1]==' ')
		{
			b[i+1] = 1;
			n++;
		}
	}
	for(j=0;j<a;j++)
	{
		if(b[j]==0)cout<<str[j];
	}
	return 0;
}
int main()
{
	char test[MAX_LENGTH];
	cin.getline(test,MAX_LENGTH);
	for (int i=0;test[i]!=0;i++)
	{

		if (test[i]==' ')
		{
			while (true)
			{
				i++;
				if (test[i]!=' ')  //????,???????
				{
					cout<<' ';//??????
					break;//????
				}
			}
		}
		cout<<test[i];
	}


	return 0;
}
main()
{
      int a=0,b=0,c,i,j,n,s=0;
      char p[100000],q[100000];
      gets(p);
      for(i=0;i<strlen(p);i++)
      {
      if(!(p[i]==' ' && p[i+1]==' '))
      {
      q[a]=p[i];
      a++;
      }
      }
      for(i=0;i<a;i++)
      printf("%c",q[i]);
      }
int main()
{
    char str[101],a[101];
    int n,i,j,k;
    gets(str);
    n=strlen(str);
    j=0;

    for (i=0;i<n;i++)
    {
        if (str[i]!=' ')
            printf("%c",str[i]);
            if (str[i]==' ')
            {
                if (str[i+1]!=' ')
                    printf(" ");
                }
    }
    return 0;
}
int main(){
    char zfc[255],sc[255];
    int i,j=0,s=0;
    gets(zfc);
    for(i=0;zfc[i]!='\0';i++){
        if(zfc[i]!=' '||(zfc[i]==' '&&zfc[i-1]!=' ')){
            sc[j]=zfc[i];
            j++;
            s++;
        }
    }
    sc[s]='\0';
    puts(sc);
    return 0;
}
int main()
{   
	char a[101],*p_a=NULL;
	gets(a);
	p_a=a;
	

	int flag=1;

	while(p_a<(a+strlen(a)))
	{
		if(flag==1)
			{
				cout<<*p_a;
				if(*p_a==' ')
					flag=0;
				*p_a++;
				continue;
		   }
		else
		{
			if(*p_a!=' ')
			{
				flag=1;
				cout<<*p_a;
			}
				*p_a++;
				continue;
			
		}
	}
	cout<<endl;
			     
	return 0;
}
int main()
{
	char str[101];
	cin.getline(str, 100);
	char result[101];
	char * p = str;
	int flag = 1; // shifirst
	int i;
	for (i = 0;* p != '\0'; p++)
	{
		if (* p != ' ')
		{
			result[i++] = * p;
			flag = 1;
		}
		else if (flag)
		{
			flag = 0;
			result[i++] = * p;
		}
	}
	result[i] = '\0';
	cout << result << endl;
	return 0;
}
//**********************************
//*   ???????               *
//*   ??????                 *
//*   ?????2011?10?31?     *
//**********************************


int main()
{
	int i, n, flag;
	char Sen[101];
	cin.getline(Sen , 100);//?????(???)
	n = strlen(Sen);//n????????
	flag = 0;//flag???????,??????0
	for(i = 0; i < n; i ++)
	{
		if(Sen[i] != ' ')
		{
			cout << Sen[i];//??????,?????
			flag = 1;//???flag???1
		}
		else//??????
		{
			if(flag == 1)//???????????
			{
				cout << " ";//??????
				flag = 0;//??flag??0
			}
		}
	}
	cout << endl;
	return 0;
}
//???????
//??? 2010?11?17?
int main()//?????
{
char ch[100];//???????
int i,j;
cin.get(ch,100,'\n');//?????
for(i=0;i<=100;i++){//????
	if(ch[i]==' '&&ch[i+1]==' '){//?????????
		for(j=i;j<=100;j++){
			ch[j]=ch[j+1];}}//??????????????????
	else
		ch[i]=ch[i];//?????
	}
	cout<<ch<<endl;//?????????
return 0;
}
int main()
{
	char a[101];
	int len,i,signal;
	gets(a);
	len=strlen(a);
	signal=0;
	for(i=0;i<len;i++)
	{
		if(a[i]==' ' && signal==0)
		{
			printf(" ");
			signal=1;
		}
		else if(a[i]!=' ')
		{
			printf("%c",a[i]);
			signal=0;
		}		
	}
	printf("\n");
	return 0;
}
int main()
{
	char a[100],b[100];
	cin.getline(a,100);
	char *p=a,*q=b;
	for(;*p!='\0';)
	{
	if(*p==' '&&*(p+1)!=' ')
	{*q=' ';q++;p++;}
	else if(*p==' '&&*(++p)==' ')
	{
	}
	else
	*q++=*p++;
}
*q='\0';
cout<<b;
return 0;
}
int main()
{
	char str[101]={0},str1[101];
	int i,j,q;
	cin.getline(str,101);
		for(i=0,j=0; str[i]!='\0';)
		{	if(str[i]==' ')
			{
				if(str[i+1]==' ')
					i++;
				else if(str[i+1]!='\0')
				{
					str1[j]=' ';
				    i++;
					j++;
				}
				else if(str[i+1]=='\0')
					i++;
			}
			else
			{
				str1[j]=str[i];
			    i++;
				j++;
			}
		}
	    for(q=0;q<j;q++)
			cout<<str1[q];
		cout<<endl;
	  return 0;
}
void main()
{
	char s[100];
	gets(s);
	int i, j=1;
	for(i=0; i<strlen(s); i++)
	{
		j=1;
		if(s[i]==' ') 
		{
			while(s[i+j]==' ')
			{
				s[i+j]='/';
				j++;
			}
		}
	}
	//printf("%s",s);
	for(i=0; i<strlen(s); i++)
	{
		if(s[i]!='/') printf("%c",s[i]);
	}
}
int main()
{
	char str[101];
	int i,j,k=0;
	cin.getline(str,101);
	char *p=NULL;
	p=str;
	for(i=0;i<strlen(str);i++)
	{
		if(*(p+i)==' '&&*(p+i+1)==' ')
		{
			for(j=i+1;j<strlen(str)-1;j++)
				*(p+j)=*(p+j+1);
			i--;
			k++;
		}
	}
	for(i=0;i<strlen(str)-k;i++)
	    cout<<str[i];
	return 0;
}
int main()
{
	char a[N+1],b[N+1];
	int k=0,i;
	gets(a);
	for(i=0;a[i-1];i++){
		if(a[i]==' '&&a[i+1]==' '){
			continue;
		}else{b[k]=a[i];
		k++;
		}
	}
	puts(b);
	return 0;
}
/*
 * ???????.cpp
 *
 *  Created on: 2011-1-8
 *      Author: lenovo
 */
int main()
{
	char a[60];
	while (true)
	{
		int i=0;
	    if (!(cin.get(a[i]))) break;

	    if (a[i]==' ')
	    	{
	    	   while (true)
	    	   {
	    		   cin>>a[i+1];
	    		   if (a[i+1]!=' ')
	    		   {
	    			   cout<<' '<<a[i+1];
	    			   break;
	    		   }
	    		   i++;
	    	   }
	    	}
	    else
	    	cout<<a[i];
	    i++;
	}
	return 0;
}
int main()
{int i,m,j,n;
char s[101],a[101];
 gets(s);
 m=strlen(s);
 j=0;
 for(i=0;i<m;i++)
 {if(i==0)

 {
     if(s[i]!=' '){a[j]=s[i];
                    j++;
                    }
 }

     else {
     if(s[i]!=' '||(s[i]==' '&&s[i-1]!=' '))
 {a[j]=s[i];
 j++;
 }
     }
 }
 
 for(i=0;i<j;i++)
 {printf("%c",a[i]);}
 return 0;
}
int main()
{
	int i,a;
	char st[101];
	gets(st);
	for(i=0;i<101;i++)
	{
        if(st[i]=='\0')
		{
			a=i;
			break;
		}
	}
	for(i=0;i<a;i++)
	{
		if(!(st[i]==' '&&st[i+1]==' '))
		printf("%c",st[i]);
	}
	return 0;
}
void main()
{int i=0,len,w=0;
char a[101]={'\0'};
gets(a);
len=strlen(a);
while(i<len)
{ if(w!=1||a[i]!=' ')
		printf("%c",a[i]);
   if(a[i]==' ')
		w=1;
	else
		w=0;
i++;}
}
int main()
{
 char a[101];
 cin.getline(a,101);
 for(int i = 0; i < strlen(a); ++i)
 {
  if(a[i] != ' ')
  {
   if(i == strlen(a)) cout << a[i];
   else
   if(a[i+1] == ' ')
   cout << a[i] << " ";
   else 
   cout << a[i];
  }
 }
 //while(1);
 return 0;
}
/*
 * guolvkongge.cpp
 *
 *  Created on: 2010-11-20
 *      Author: lz
 */

int main()
{
	char c[105];
	cin.getline(c,105);
	int i=0;
	while(c[i]!='\0')
	{
		while(c[i]!=' '&&c[i]!='\0')
		{
			cout<<c[i];
			i++;
		}
		if(c[i]=='\0')
			break;
		cout<<c[i];
		i++;
		while(c[i]==' ')
			i++;
	}

    return 0;
}
int main()
{
	char a[100];
	int t;
	int g;
	gets(a);
	int i=0;
	int temp=0;
	while(a[i]!=0)
	{
		i++;
	}
	g=i-1;
	while(a[g]==' ')
	{
		i--;
		g--;
	}
	a[i]=0;
	i=0;

	while(a[i]!=0)
	{
		
		if(a[i]==' ')
		{
			  if(temp==0)
				cout<<a[i];
			temp=1;
		}
		else
		{
			cout<<a[i];
			temp=0;
		}
		i++;

	}
	return 0;
}
int main()
{
	char a[100], *b;
	cin.getline(a, 101);
	b = a;
	int i, j = 0;
	for (i = 0; a[i] != '\0'; i++)
	{
		if(a[i] != ' ')
			*(b + j) = a[i];
		if (a[i - 1] != ' ' && a[i] == ' ')
			*(b + j) = ' ';
		
		if (a[i - 1] == ' ' && a[i] == ' ')
			continue;
		j++;
		
	}
	*(b + j) = '\0';
	for (i = 0; *(b + i) != '\0'; i++)
		cout << *(b + i);


	return 0;
}
int main()
{
	char x[100][10];
	int i=0;
	while(cin>>x[i])
	{
		if(cin.get()=='\n')break;
		i++;
	}
	for(int j=0;j<i;j++)
		cout<<x[j]<<' ';
	cout<<x[i]<<endl;
	return 0;
}
//****************************************
//???????????
//??????
//?????2010.12.10
//????????????
//****************************************
int main()
{
	char str[1000];
	cin.getline(str,1000);
	int count = 0;
	char *p = NULL;
	for (p = str;p < (str + 1000); p++)
	{
		if (*p == '\0')
			break;
		else if (*p != ' ')
			cout << *p;
		else
			count++;
		if ((count > 1)&&(*p==' ')&& (*(p+1) ==' '))
			continue;
		if (count == 1)
			cout << *p;
		if ((*p==' ')&& (*(p+1) !=' '))
			count = 0;
	}
	return 0;
}
//???????
int main()
{
	char str[110];int num=0;int i,x;char *p=str;//??????????
	cin.getline(str,110);//?????
    for ( i=0;*p!='\0';p++,i++)
	{
		if (*p==' ')
		{
			for ( x=i;;x++,p++)
			{
				if (str[x]!=' ')//???????????????????????????
			     break;
			}cout<<' ';
			i=x;
		}
		
	
		if (*p!=' ') cout<<*p;//???????????
	}
return 0;

}
main()
{
char s[100] = {0};
int i,len;

gets(s);

len = strlen(s);
i = 1;
printf("%c",s[0]);
while(s[i]!=0)
{
if(s[i]!=' ')
printf("%c",s[i]);
if(s[i-1]!=' '&& s[i]==' ') 
printf(" ");
i++;
}



}
//********************************************
//* file : 1000012912_001.cpp                *
//* author : ???                          *
//* data : 2010.12.8                         *
//* function : ??????                  *
//********************************************
int main()
{ 
	int num, i, j, len;                //len?????
	char str[101], *p;                 //p?str??
	cin.getline(str,101);
	len = strlen(str);
	for ( j = 0; j < len ; j++ )
	{
		p = str + j;
		num = -1;
		while ( *p == ' ' )
		{
			num++;                         //num????-1
			p++;
		}
		if ( num > 0 )
		{
			for ( i = p -str; i < len; i++ )
				*(p - num)= *p++;               //??
			len -= num;                  //??????
		}
	}
	str[len] = '\0';                   //???0
	cout << str << endl;
	return 0;
}
int main ()
{
	char word[100];
	char output[100];
	int i = 0, flag = 0;
	int p = 0;
	cin.getline(word, 100);
	for (; word[i] != '\0'; i++)
	{
		if (flag == 1 && word[i] == ' ')
		{
			continue;
		}
		if (word[i] != ' ')
			flag = 0;
		else 
			flag = 1;
		output[p++] = word[i];
		output[p] = '\0';
	}
	cout << output << endl;
	return 0;
}
int main()
{
    int i,j,k,l,m,n;
    char s1[200];
    gets(s1);
    k=strlen(s1)-1;
    i=0;
    m=0;
    while (s1[i]==' ') i++;
    while (s1[k]==' ') k--;
    while (i<=k-1)
    {

        if (s1[i]!=' ')
        {
                cout <<s1[i];
                i++;
        }

        else
        {
            cout <<s1[i];
            while (s1[i]==' ') i++;
        }
    }
    cout <<s1[k];
    cout <<endl;

    return 0;
}
int main()
{
	char str[101],word[101][30];
	int i,x,y,len;
	gets(str);
	len=strlen(str);
	x=y=0;
	for(i=0;i<=len;i++)
	{
		
		if(str[i]==' '||str[i]==','||str[i]=='.')
		{
			if(y==0)continue;
			else{
			word[x][y]='\0';
			x++;
			y=0;
			}
		}
		else word[x][y++]=str[i];
	}
	printf("%s",word[0]);
	for(i=1;i<=x;i++)
		
	
	printf(" %s",word[i]);

}
int main(){
	int i,j;
	char za[101];
	gets(za);
	
	for(i=1;za[i];){
		if(za[i]==' '&&za[i+1]==' '){
			for(j=i;za[j];j++){
				za[j]=za[j+1];
			}
		}else{
			i++;
		}
	}
	puts(za);
	return 0;
}
int main()
{
	char a[1000];
	char *p=&a[0];
	int i;
	gets(a);
	for(i=0;*(p+i)!='\0';i++)
		{
			if(*(p+i)==' '&&*(p+i-1)==' ')
			{}
			else cout<<*(p+i);
	}
	return 0;
}
int main(){
	char a[105];
	int i,j,k,g,m,n;
	while(cin.getline(a,101)){
		g=strlen(a);
		for(k=1;k<g-1;k++)
		for(i=1;i<g-1;i++){
			if(a[i]==' '&&a[i+1]==' '){
				for(j=i;j<g-1;j++)
					a[j]=a[j+1];
				a[g-1]='\0';
				g--;
			}
		}
		cout<<a<<endl;
	}

	return 0;
}
int main()
{
	char str[101];
	int i,j;
	gets(str);
	for(i=0;i<101;i++){
		while((str[i]==' ')&&(str[i+1]==' ')){
			for(j=i+1;j<101;j++){
				str[j]=str[j+1];
			}
		}
	}
	puts(str);
	return 0;
}
int main()
{
	char zfc[101];
	gets(zfc);
		for(int j=0;j<=99;j++)
		{
			while(zfc[j]==zfc[j+1] && zfc[j]==' ')
			{
				for(int i=j;i<=99;i++)
				{
					zfc[i]=zfc[i+1];
				}
			}
		}
		printf("%s",zfc);
		return 0;
}
int main()
{
	char s[101];
	int leng,i,j,sum=0;
	cin.getline(s,101);
	leng=strlen(s);
	for(i=0;i<leng-sum;i++)
		if(s[i]==' '&&s[i+1]==' ')
			{
				sum++;
				for(j=i;j<leng-sum;j++)
					s[j]=s[j+1];
				i=i-1;
			}
	for(i=0;i<leng-sum;i++)
		cout<<s[i];
	return 0;
}
int main(){
	int i,l,m;
	char a[300],b[300];
	gets(a);
	m=0;
	l=strlen(a);
	for(i=0;i<l;i++){
		if(a[i]==' '&&a[i+1]!=' '){
			b[m]=a[i];
			m++;
			}else if(a[i]!=' '){
			b[m]=a[i];
			m++;
			}else{
				continue;
			}
	}
	b[m]='\0';
	printf("%s", b);
	return 0;
}
int main()
{
   char s[101],t[101];
   int n,i,j=0;
   gets(s);
   n=strlen(s);
   for(i=0;i<n;i++){  
        if(s[i]!=' '){
     t[j]=s[i];j++;}
    else if(s[i]==' '&&s[i+1]==' '){
      continue;}
    else{
       t[j]=s[i];j++;}}
     t[j]='\0';
    printf("%s",t);
    return 0;
}
int main(){
    char sz[101],sz2[101];
    int i,k=0,m;
    gets(sz);
     m = strlen(sz);
    for(i=0;i<=m;i++){
        if(!(sz[i]==' '&&sz[i+1]==' ')){
            sz2[k++]=sz[i];
        }
    }
    sz2[k]='\0';
    puts(sz2);
    return 0;
}