semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
//***********************************
//******      ??    ???   ******
//******      ?? 1200016612   *****
//******   ??  ???????  ****
//***********************************
int main()                                                       //?????
{
	char s[100];                                                 //??????s????????
	char a[100][100];                                            //???????????????
	int b[100]={0};                                              //??????b[]??????
	int i=0,j=0;
	for(;;) 
	{
		cin>>s;                                                  //??????
		for(j=0;j<100;j++)                                       //?????
		{
			if(s[j]!='\0')
				b[i]++;
		}
		for(j=0;j<b[i];j++)                                      //?????????????????????   
		{
			a[i][j]=s[j];
		}
		i++;
		if(getchar()=='\n')                                     //???????????????
			break;
	}
	cout<<a[0];                                                 //???????
	for(j=1;j<i;j++)                                            //????????????
	{
		cout<<" "<<a[j];
	}
	return 0;
}
void main()
{
	int i,j;

	char *str;
	str=(char*)malloc(100*sizeof(char));
	char *p;
	p=str;
	gets(str);
	for(p=str,i=0;p<str+strlen(str)/*&&(!(*(p-1)==' '&&*(p)==' '))*/;p++,i++)
	{	if(*(p-1)==' '&&*(p)==' ')
		{
			for(j=i-1;j<strlen(str);j++)	
				*(str+j)=*(str+j+1);
			//*(str+strlen(str)-1)=' ';
			i--;
		  p=str+i;	
			//printf("%c",*p);

		}
	}
		puts(str);

}
main()
{
int i,j;
void dao(char x[],int y);
char a[1000];
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]==' ')
{
if(a[i+1]==' ')
{dao(a,i);

i--;}
}
}
for(i=0;a[i]!='\0';i++)
printf("%c",a[i]);

}
void dao(char x[], int y)
{
     int j;
 
for(j=y;x[j]!='\0';j++)
{
x[j]=x[j+1];}

}
int main(){
    char juzi[200];   
    int i,j,m;
    gets(juzi);
    m=strlen(juzi);
    for(i=1;i<m-1;i++){
        if(juzi[i-1]!=' '&&juzi[i]==' '&&juzi[i+1]==' '){
            for(j=i+1;j<m-1;j++){
                juzi[j]=juzi[j+1];
            }
            m=m-1;
            juzi[m]='\0';
            i=i-1;
        }
    }
    printf("%s",juzi);
    return 0;
}
int main()
{
	char a[1000][20];//????
	char (*p)[20]=a;//??????????a
	int count=0;//?????
	char temp='\0';
	while(temp!='\n')//?????????
	{
		cin >> *(p+count);
		temp=cin.get();//???????
		count++;
	}
	for(p=a;p<(a+count-1);p++)//??
		cout << *p << " ";
	cout << *p << endl;
	return 0;
}
// ???????.cpp : ??????????????
//



int main()
{
	char a[100] = {0};
	int i = 0,k = 0;
	cin.getline(a,100);
	char *p = a;
	for (i = 0;i < 100;i++)
	{
		if (*(p + k) == 0)
		{
			cout << endl;
			break;
		}
		if (*(p + k) != 32 || *(p + k - 1) != 32)
		{
			cout << *(p + k);
		}
		k++;
	}
	return 0;
}
void main()
{
	char s[2000],a[2000];
	int i,k,n,b;
	gets(s);
	n=strlen(s);
	k=0;
	i=0;
	while(i<n)
	{
		if(s[i]!=' ')
		{
			b=0;
			a[k]=s[i];
			k++;
		}
		else if (b<1)
		{
			a[k]=s[i];
			k++;
			b++;
		}
		i++;
	}
	a[k]='\0';
	printf("%s",a);
}
/*
 *???: delete blank.cpp
 *??????
 *????: 2012-12-10
 *??: ??????
 */


int main ()
{
    char sentence[1000];
    //????
    cin.getline(sentence,1000);
    for (int i = 0; i <= strlen(sentence); i++){
        if (*(sentence+i) == ' '){
            int j;
            for (j = i; ; j++)
                if (*(sentence+j+1) != ' ') break;
            for (int k = 0; k <= strlen(sentence)-i+1; k++)
                *(sentence+k+i) = *(sentence+j+k);
        }
    }
    cout << sentence;
    return 0;
}
int main()
{
	char a[100], *p = NULL, *q = NULL;
	cin.getline(a, 100);
	for (p = a + 1; *p != '\0'; p++)			//??????
	{
		if (*p == ' ' && *(p - 1) == ' ')		//??????????????????
		{
			for (q = p; *q != '\0'; q++)		//?????????????
			{
				*q = *(q + 1);
			}
			p--;								//???????
		}
	}
	cout << a << endl;
	return 0;
}
void main()
{
  char str[200];
  int i,j;
  gets(str);
  for(j=0,i=0;str[i]!='\0';i++)
  {
     if(str[i]!=' '||(j!=0&&str[j-1]!=' '))
     {
        str[j]=str[i];
        j++;
     }
  }
  str[j]='\0';
  printf("%s",str);
}
int main()
{
	char a, b;
	cin >> a;
	b = a;
	cout << a;
	while (cin.get(a))
	{
		if (a != ' ' || (a == ' ' && b != ' '))
		{
			cout << a;
			b = a;
		}
	}
	return 0;
}
//**************************************
//**?????????
//**?????  1100017658
//**???2011.11.27
//*************************************
int main()                                  // ?????
{
    char sen[1000];                         // ?????
    char *p = NULL;
    p = sen;
    int s[1000] = {0};                      // ????????
    int *q = NULL;
    q = s;
    cin.getline(sen, 1000);                 // ?????
    int l = strlen(sen);                    // ????
    for (int i = 0; i < l; i++)             // ????
    {
        if (*(p + i) == ' ')
        {
            if (*(p + i + 1) == ' ')
                *(q + i + 1) = 1;               // ??
        }
    }
    for (int j = 0; j < l; j++)             // ????
    {
        if (*(q + j) == 0)
            cout << *(p + j);                 // ??
    }
    return 0;
}                                           // ?????
int main(){
	char a[201],b[201];
	int i,n,m,k;
	k=0;
	gets(a);
	n=strlen(a);
	for(i=0;i<n;i++){
		b[k]=a[i];
		k++;
		if(a[i]==32){
			for(m=i+1;m<n;m++)
				if(a[m]==32){
                    i++;
				}
				else{
                    break;
    			}
		}
	}
	b[k]='\0';
	puts(b);
	return 0;
}
int main(){
    char sen[MAX][MAX]={0};
	int i,e;
    for(i=0;i<MAX;i++){
		scanf("%s",sen[i]);
	}
	printf("%s",sen[0]);
	for(i=1;sen[i][0];i++){
		printf(" %s",sen[i]);
	}
	return 0;
}
int main(){
    int a=1;
    char t[101],s[101];
    gets(s);
	t[0]=s[0];
    for(int i=1;s[i]!='\0';i++){
        if(s[i]!=' '){
           t[a]=s[i];
           a++;
        }
        else if(s[i-1]==' ')continue;
        else if(s[i-1]!=' '){
           t[a]=s[i];
           a++;
        }
   }
   t[a]='\0';
   printf("%s",t);
   return 0;
}
int main()
{   char a[1000];                                //?????????? 
    int i;
    char b;
    int j=0;
    int c=0;
    while(1)
       {   b=cin.get();
           if(b=='\n')  break;                   // ???? 
           if(b!=32)                            //  ????  ?? 
             {   a[j]=b;
                 j=j+1;
                 if(b!=46)  c=0;
                 else       c=1;
             }
           else                      
             {   c=c+1;
                 if(c>1) continue;           //???1?????? 
                 else   
                   {   a[j]=b;                //????????? 
                       j=j+1;
                   }
             }
       } 
    for(i=0;i<j;i++)   cout<<a[i];
    return 0;
}
int main(){
char sb[1000]={'\0'};
gets(sb);
for(int i=0;sb[i]!='\0';i++){
if(sb[i]!=' ')
printf("%c",sb[i]);
else if(sb[i]==' '&&sb[i+1]!=' ')
printf(" ");
}
return 0;
}
int main ()
{
	char a[100],b[100],c;
	int i,j=0,k=0,m;
	cin.get(a,100,'\n');
	for(k=0;k<=100;k++)
	  for(i=0;i<=100;i++)
		if(a[i]==' '&&a[i+1]==' ')
		{
			for(j=i+1;j<=100;j++)
			a[j]=a[j+1];
		}
	for(i=0;a[i]!='\0';i++)
	cout<<a[i];
	return 0;
}
int main()
{
	char word_in[1000],word_out[1000];
	int sum,k=0;
	for(int i=0;i<1000;i++)
	{
		word_in[i]=0;
		word_out[i]=0;
	}
	cin.getline(word_in,1000);
	sum=strlen(word_in);
	for(int i=0;i<sum;i++)
	{
		if(word_in[i]!=32)
		{
			word_out[k]=word_in[i];
			k++;
		}
		if(word_in[i]==32)
		{
			if(word_in[i+1]!=32)
			{
				word_out[k]=word_in[i];
				k++;
			}
		}
	}
	sum=strlen(word_out);
	for(int i=0;i<sum;i++)
	{
		cout<<word_out[i];
	}
	return 0;
}
int main()
{
	char zfc[500];
	gets(zfc);
	int i,k,LEN;
	LEN=strlen(zfc);
	for(i=0;i<LEN-1;i++)
	{
		if(zfc[i]==' '&&zfc[i+1]==' ')
		{
			for(k=i+1;k<LEN-1;k++)
			{
				zfc[k]=zfc[k+1];
			}
			i=i-1; zfc[LEN-1]='\0';
		}
		
		LEN=strlen(zfc);
	}
	
	puts(zfc);
	return 0;
}
//
//  main.cpp
//  ????
//
//  Created by ? ? on 12-11-22.
//  Copyright (c) 2012? ? ?. All rights reserved.
//


int main()
{char str1[100],str2[100];
    int i,k=0,p,t=0;
    gets(str1);
    int len1=strlen(str1);
    for(i=0;t<len1;i++,t++)
    {
        if (str1[t]==' ') {
            for(p=t+1;str1[p]==' ';p++)
                t++;
        }
        str2[i]=str1[t];
        
        
    }
    for(p=0;p<i;p++)
    cout<<str2[p];
    return 0;
}
void main()
{
    char *str[1000];
    char *p;
    int i;
    gets(str);
    for (p=str;*p!='\0';p++)
    {
        if (*p==' '&&*(p+1)==' ')
            continue;
        printf("%c",*p);
    }
   }
int main()
{
	char*p;
	p=(char*)malloc(1000*sizeof(char));
	int i,k=0;
	gets(p);
	for(i=0;*(p+i)!='\0';i++)
	{
		if(*(p+i)!=' ')
		{
			printf("%c",*(p+i));
			k=1;
		}
		if((k==1)&&(*(p+i)==' '))
		{
			printf(" ");
			k=0;
		}
	}
}
int main()
{
        char a,b;
        int i=1;

        b=60;
        for(;i>0;i++)
        {
                a=cin.get();
                if(a=='\n') break;
                if(a!=' '||b!=' ') cout<<a;
                b=a;
        }
        return 0;
}
int main()
{
	int i,j;
	char zfc[1000];
	gets(zfc);
	for(i=0;zfc[i]!='\0';i++){
		if(zfc[i]!=' '){
		    printf("%c",zfc[i]);
		}else if(zfc[i]==' '){
			if(zfc[i+1]!=' '){
				printf(" ");
			}else{
				continue;
			}
		}
	}
	return 0;
}
void delsp(char *c)         //???????
{
    int flag = 0, n = 0;     //flag????
    for (; *(c + n) != '\0'; c++)
    {
        if (*(c + n) == ' ')
        {
            if (*(c + n + 1) == ' ')
            {
                n++;
                c--;
                flag = 1;
            }
        }
        if (flag == 1)
            {*(c + 1) = *(c + 1 + n);
            flag = 0;}
        else
            *c = *(c + n);
    }
    *c =  '\0';
}

int main()
{
    char sen[100];
    cin.getline(sen, 100);
    delsp(sen);
    cout << sen;
    return 0;
}
int main(){
    char a[200];
    int i,j,l,s;
    s=-1;
    gets(a);
    l=strlen(a);
    for(j=0;j<100000;j++){
    for(i=0;i<l-1;i++)
    {
        if(a[i]==' '&&a[i+1]==' ')
        {
            s=s+1;
            for(j=i;j<l-1;j++)
            {
                a[j]=a[j+1];
                a[l-s]='\0';
            }
        } 
    }}
    puts(a);
    return 0;
}
int main()
{
	char an[1000],bn[1000];
	cin.get(an,1000);
	int i=0,j=0;
	for(i=0;i<strlen(an);i++)
	{
		if(an[i]!=' '||an[i]==' '&&an[i+1]!=' ')
		{
			bn[j]=an[i];
			j++;
		}
	}
	int jj;
	for(jj=0;jj<j;jj++)
		cout<<bn[jj];
	return 0;
}
/*
 *????HW6_12.cpp
 *??????1100019007?
 *???2012-11-08
 *??????????
 */ 
char words[110][110];//??? 
char tempword[60];
int main()
{
    int i,j,k;
    int n;
    char c;
    i=0;
    while(cin>>words[i])
    {
        i++;
        c=cin.get();
        if(c=='\n')break;
    }//????(??????)
    n=i;//????
    for(i=0;i<n;i++)
    {
       cout<<words[i];//????
       if(i<n-1)cout<<' ';
    }
    cout<<endl;
    return 0;//????
}
//Patricia.Xiao
int main()
{
	char c[1000];
	int l;
	int i;
	gets(c);  //?????
	l=strlen(c);
	if(c[0]!=' ')
		printf("%c",c[0]);   //?????
	for(i=1;i<l;i++)
	{
		if(c[i]!=' ')       //???????????
			printf("%c",c[i]);  //??????
		else
		{
			if(c[i-1]!=' ')
				printf(" ");
		}
	}
	return 0;
}
int main()
{
	char a[100],b;
	int i1=0;
	while (cin.get(b)&&b!='\n')
		a[i1++]=b;//shuruzifuchuan
	char c[100];
	int j=0;
	for (int i2=0;i2<=i1-1;i2++)
	{
		if (a[i2]==32&&a[i2+1]==32)
			continue;//duogekonggexianglin,zhiquyige
		else
			c[j++]=a[i2];
	}
	for (int k=0;k<=j-1;k++)
		cout<<c[k];
	return 0;
}
//*************************************
//* ????1.cpp *
//* ??????1200012844 *
//* ?????2012?12?4? *
//* ???????????? *
//**************************************

int main()
{
	char str[100];
	cin.getline(str, 100);//??????
	char *p = str;//????????
	char delspace[100] = {0};
	int i = 0, j = 0; //i?????????j?????????
	while ( p[i] != '\0' )
	{
		if( p[i] == ' ' )//??????
			while( p[i + 1] == ' ' )
			{
				i++;
			}//???????????
		delspace[j++] = p[i++];//??????delspace?????????
	}
	cout << delspace << endl;
	return 0;
}
void sort(int a[],int n)
{
	int t,i;
	t=a[n-1];
	for(i=n-1;i>0;i--)
		a[i]=a[i-1];
    a[0]=t;
}
void main()
{
	char s[300];
	int i,flag=0;
	gets(s);
	for(i=0;s[i]!='\0';i++)
		if((s[i])!=' ') {printf("%c",s[i]); flag=1;}
		else if(flag==1) {printf(" ");flag=0;}

}
int main()
{
	char a[200];
	int i,b;
	
	gets (a);
	b=strlen(a);
	

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


	return 0;
}
int main()
{
	char a[200]={0};
	int p,x,i;
	gets(a);
	p=strlen(a);
	x=0;
	for(i=0;i<p;i++)
	{
		if(a[i]==' ')
		{
			if(a[i+1]!=' ')
			{
                printf("%c",a[i]);
			}
		}
		if(a[i]!=' ')
		{
			printf("%c",a[i]);
		}
	}
	return 0;
}
int main()
{

	char str[255];
	char words[255][255];
	int index = 0;

	// ????
	while (scanf("%s", str))
	{
		strcpy(words[index++], str);

		char c = getchar();
		if (c == '\n')
			break;
	}

	//// ??
	//for (int i = 1; i < index; i++)
	//{
	//	for (int j = 0; j < index-i; j++)
	//	{
	//		if (strcmp(words[j], words[j+1]) > 0)
	//		{
	//			strcpy(str, words[j+1]);
	//			strcpy(words[j+1], words[j]);
	//			strcpy(words[j], str);
	//		}
	//	}
	//}

	//// ??????
	//char newWords[255][255];
	//int newIndex = 0;

	//strcpy(newWords[newIndex++], words[0]);
	//for (int i = 1; i < index; i++)
	//{
	//	//printf("%s\n", words[i]);
	//	if (strcmp(words[i], words[i-1]) != 0)
	//	{
	//		strcpy(newWords[newIndex++], words[i]);
	//	}
	//}

	// ????
	for (int i = 0; i < index; i++)
	{
		printf("%s", words[i]);
		if (i == index-1)
			printf("\n");
		else
			printf(" ");
	}

	return 0;
}
int main ()
{
	int i,j,n;
	char a[201],b[201];
	gets(a);
	for(i=0,j=0;a[i];i++){
		if(a[i]==' ')
			if(a[i+1]==' '){
				j=j;
			}
			else{
				b[j]=a[i];
				j++;
			}
		else{
			b[j]=a[i];
			j++;
		}
	}
	b[j]='\0';
	printf("%s",b);
	return 0;
}
int main()
{
    char ch;
    int flag=0;
    while((ch=getchar())!='\n')
    {
             if(ch==' '&&flag==0)
             {
                      putchar(ch);
                      flag=1;
             }
             else if(ch!=' ') 
             {
                  flag=0;
                  putchar(ch);
             }
   }
   getchar();
   getchar();
   getchar();
}
int main(){
   char pSource[100];
   gets(pSource);

char arrSentence[100] = {0};
int i = 0 ,j = 0;
int nSpace = 0;
while ( pSource[i] != 0 )
{
 if ( nSpace < 1 )
 {
  arrSentence[j++] = pSource[i];
 }
 if ( pSource[i] == ' ' )
 {
  nSpace ++;
  if ( pSource[i+1] != ' ' )
  {
   nSpace = 0;
  }
 }
 i++;
}
printf("%s\n" ,arrSentence);
return 0;
}
int main()
{
	char a[ 1000 ],b[ 1000 ];
	int i,k,f;
	gets(a);
	f=1; k=0;
	for(i=0; a[ i ]!='\0'; i++)
	{
		if(a[ i ]==' ')
		{
			if(f==1)
			{
				b[ k++ ]=a[ i ];
				f=0;
			}
		}
		else
		{
			b[ k++ ]=a[ i ];
			f=1;
		}
	}
	b[ k ]='\0';
	for(i=0; b[ i ]!='\0'; i++)
		a[ i ]=b[ i ];
	a[ i ]='\0';
	puts(a);
	return 0;
}
int main()
{	char a[200];
    cin.getline(a,200);
    int t=strlen(a);
    for(int i=0;i<t;i++)
    	{if(*(a+i)!=' ')
    	cout<<*(a+i);
    	if(*(a+i)==' '&&*(a+i+1)!=' ')
    	    	{cout<<' ';}
    	if(*(a+i)==' ')
    	{continue;}

    	}
	return 0;
}
int main(){
 char a[201],b[201];
 gets(a);
 int i,j;
 int l=strlen(a);
 for(i=0,j=0;i<l;i++,j++){
     int k=0;
     b[j]=a[i];
     if(a[i]==' '){
     
        for(int m=i+1;m<l;m++){
         if(a[m]==' '){
             k++;
         }else{
             break;
         }
        }
     }
     i=i+k;
 }
 b[j]=0;
 puts(b);

 return 0;
}
int main()
{
char a[5000];
int i,j,t;
cin.getline(a,5000);
t=strlen(a);
for(i=0;i<t;i++)
if(*(a+i)==' ')
{if(*(a+i+1)==' ')
    {for(j=i+1;j<t;j++)
         *(a+j)=*(a+j+1);
    t--;
    i--;
}}
cout<<a<<endl;
return 0;
}
//*****************************
//*@file:1.cpp                *
//*@author:??? 1200012894  *
//*@date:2012.11.30           *
//*@function:???????   *
//*****************************

int main()
{
	char str[300], *p, *q;  
	cin.getline(str,300);    
	p = str;  // ?str??????p
	while (*p != '\0')
	{
		if (*p == ' ')
		{
			if (*(p + 1) == ' ')
			{
				q = p;  // p + 1????q,???????
				while (*q != '\0')
				{
					*q = *(q + 1);
					q++;
				}
			}
			else 
			{
				p++;
			}
		}
		else
		{
			p++;
		}
	}
	cout << str;
	return 0;
}
int main()
{
    int i,j=0;
	char zfc[1000];
	char a[1000];
	gets(zfc);
    for(i=0;zfc[i]!='\0';i++)
	{
		if(zfc[i]!=' ')
		{
			a[j]=zfc[i];
			j++;
		}
		else if(zfc[i+1]==' ')
		{
			continue;
		}
		else
		{
		 a[j]=zfc[i];
			j++;;
		}
	}
	a[j]='\0';
	printf("%s\n", a);
	return 0;
}
int main(){
	int l;
	char z[1000];
	gets(z);
	l=strlen(z);
	for (int i=0;i<l;i++){
		if (z[i]!=' ' || (z[i]==' '&&z [i-1]!=' ')) cout<<z[i];
	}
	return 0;
}
int main(){
     char a[1000];
     char *p=a;
     int len;

     gets(a);
     len=strlen(a);

     while (p<a+len)
     if ((*p==' ')&&(*(p+1)==' ')) p++;
     else {cout<<*p; p++;}
     return 0;
}
int main()
{
	char input[100];
	int i;
	int flag[100] = {0}, length;
	cin.getline(input, 100);
	length = strlen(input);
	cout << input[0];
	for (i = 1; i < length; i++)
	{
		if (input[i] == ' ' && input[i - 1] == ' ')
		{
				continue;
		}
		cout << input[i];
	}
	return 0;
}
/*
 * SpaceFilter22.cpp
 *
 *  Created on: 2013-12-5
 *      Author: 111
 */

int main()
{
	char str[201];
	char *p = NULL;
	gets(str);                                //????
	cout << str[0];                           //????????
	for (p=str+1;p<str+strlen(str);p++)
	{
		if (*p!=' '||(*(p-1)!=' '))           //???????????????????????
			cout << *p;
	}
	return 0;
}
void main()
{
	char *p;
	p=(char*)malloc(1000*sizeof(char));
	int i,j,k,a,b;
	b=0;
	for(i=0;i<1000;i++)
	{
		*(p+i)=getchar();
		if(*(p+i)=='\n')
		{a=i;break;}
	}
    for(i=0;i<a;i++)
	{
        if(*(p+i)==' ')
		{ 
			while(*(p+i+1)==' ')
			{
				b++;
				for(j=i+1;j<a;j++)
			{*(p+j)=*(p+j+1);}}
		}
	}
	for(i=0;i<a-b;i++)
	{printf("%c",*(p+i));}}
int main(){
    char a[300];
    gets(a);
    for(int k=200;k>0;k--){
    for(int i=0;i<strlen(a);i++){
        if(a[i]==' '){if(a[i+1]==' '){
            for(int j=i+1;j<strlen(a)-1;j++)
            {a[j]=a[j+1];}
            a[strlen(a)-1]='\0';}
    
    }}}
    printf("%s",a);
return 0;}
void main()
{
	char *str;
	int i,t=0,n;
	str=(char *)malloc(100*sizeof(char));
	gets(str);
	n=strlen(str);
	for (i=1;i<n;i++)
	{
		if (*(str+i)==' '&&*(str+i-1)==' ')
			t=t+1;
		else
			*(str+i-t)=*(str+i);
	}
	for (i=0;i<n-t;i++)
		printf("%c",*(str+i));
}
/*Liloy Iris 2012.11.9*/
int main()
{
	char c;                                  //????c
	cin.get(c);                              //??c
	while (c!='\n')                          //?c??????,????
	{
		if (c!=' ')                     //?c?????,??c
			cout<<c;
		else
		{
			cout<<c;
			while (c==' ')         //???????
			{
				cin.get(c);
			}
			cout<<c;
		}
		cin.get(c);
	}
	return 0;
}
int main(){
char s[201];
int k,i,j,m,n;
gets(s);
k=strlen(s);
for(i=0;i<k;i++){
	if(s[i]==' '&&s[i+1]==' '){
		for(m=i+1;m<k;m++){
			s[m]=s[m+1];
			i--;
		}
	}
    else continue;
}
printf("%s", s);

return 0;
}
int main()
{
	int i,m,n;
	char str[100],string[100]={""};
	gets(str);
	n=strlen(str);
	for(i=0;str[i]!='\0',i<n-1;i++)
	{
		if((str[i]==' ')&&(str[i+1]==' '))
	{
			for(m=i;m<n-1;m++)
     str[m]=str[m+1];
	n--;
	i=0;
	}
	}
	strncpy(string,str,n);
	printf("%s",string);
	return 0;
}
void main()
{
 char *p;
 int i,j,k,n,m;
 p=(char *)malloc(100*sizeof(char));
 gets(p);
 n=strlen(p);
 for(i=0;i<n-2;i++)
    {
     printf("%c",*(p+i));
     if(*(p+i+2)==' '&&*(p+i+1)==' ')
       {
        while(*(p+i+2)==' ')
             {
              i++;
               }
       }
    }
    printf("%c%c",*(p+n-2),*(p+n-1));
}
int main()
{   
	char a[10000];
	gets( a );

	int flag=0;
	int i;

	for ( i=0;a[i]!='\0';i++)
	{
		if( flag ==0 )
		{
			cout << a[i] ;
			if( a[i] ==' ')
				flag = 1;
		}
		else if ( (flag==1)&&(a[i]!=' ')  )
		{
			cout << a[i];
			flag = 0;
		}
	}

	cout << endl;
	return 0;
}
int main(){
	int i,j,l,k;
	char s[MAX+1];
	gets(s);
	l=strlen(s);
	for(i=0;i<l;i++){
		for(j=0;j<l-1;j++){
			if((s[j]==32)&&(s[j+1]==32)){
				for(k=(j+1);k<l;k++){
					s[k]=s[k+1];
				}
			}
		}
	}
	puts(s);
	return 0;
}
void main()
{
    char *a,*b;
    int n=0,m=-2,s,i,j;
    a=(char*)calloc(1000,sizeof(char));
    gets(a);
    for(b=a;*b!=0;b++)
    n++;
    b=a;
    for(i=0;i<n;i++)
    {
    	if(*(b+i)==32)
    	{
    		s=i-m;
    		m=i;
    		if(s==1)
    		{
    			for(j=i;j<n-1;j++)
    			*(b+j)=*(b+j+1);
    			n=n-1;
    			i=i-2;
    		}
    	}
    }
    for(b=a;b<a+n;b++)
    printf("%c",*b);
    free(a);
}
int main(){
	char s[100],a[100]={0};
	int i,j,k=0,n,l,h=0;
	gets(s);
	l=strlen(s);
	for(j=0;j<l+1;j++){
		
		if(s[j]==' '){
			k++;
		}
		
	    if(s[j]!=' '&&k==0){
			a[h]=s[j];
			h++;
		}
		if(k>=1&&s[j]!=' '){
			a[h]=' ';
			k=0;
			a[h+1]=s[j];
			h+=2;
		
		
		}if(s[j]=='\0'){
			break;
		}
	}

   puts(a);
	return 0;
}
int main(){
int n,i,j=0,k,l;
char s[1000];
gets(s);
for(l=0;l<100;l++)
{
for(j=0;s[j]!='\0';j++)
{
if(s[j]==' '&&s[j+1]==' ')
{
for(i=j+1;s[i]!='\0';i++)
{
s[i]=s[i+1];
}
break;
}
}
}
printf("%s",s);
return 0;
}
int main()
{
	char a[100]={0};//????
	int i=0,k=0;//????
	cin.getline(a,100);
	for(i=0;a[i]!=0;i++)
	{
		if(a[i]!=' ')
		{
			cout<<a[i];
			k=0;//?????????
		}
		else if(a[i]==' ')
		{
			k++;
			if(k==1)
			{	
				cout<<" ";//????????
			}
		}
	}
	return 0;
}
char sen[256];
int len,i;
int del();
int main()
{
gets(sen);
len=strlen(sen);
for (i=0;i<len;i++)
{
if (sen[i]==32)
del();
}
for (i=0;i<len;i++)
{
	if (sen[i]!=126)
	printf("%c",sen[i]);
}
return 0;
}
int del()
{
	int j;
	for (j=i+1;j<len;j++)
	{
		if (sen[j]==32)
		sen[j]=126;
		else 
		return 0;
	}
	return 0;
}
int main()
{
	char a[1000];
	cin.getline(a,1000);
	char *p=a;
	for(int i=0;a[i]!='\0';i++)
	{
		if(*(p+i)==' ')
		{
			while(*(p+i+1)==' ')
			{
				for(int j=1;*(p+i+j)!='\0';j++)
					*(p+i+j)=*(p+i+j+1);
			}
		}
	}
	cout<<p<<endl;
	return 0;

}
int main()
{
    char a[200],b[200];
    gets(a);
    char *p,*q;
    for(p=a,q=b;(*p)!='\0';p++)
    {
       if((p-&a[0])==0)
       {
         *q=*p; 
         q++;
       }
       else
         if((*(p-1)==' ')&&((*p)==' '))
           continue;
         else
         {
           *q=*p;
           q++;
         }
         
    } 
    *q='\0';
    cout<<b<<endl;
    

    return 0;
}
int main()
{
	char a[200],b[200];
	cin.getline(a,200);
	char *p=NULL;
	int flag=1,i=0;
	for(p=a;*p;p++)
	{   
		if(*p==' '&&flag==1)
			{
				flag=0;
				b[i++]=*p;
			}
		else if(*p==' '&&flag==0)
					;
		else 
		{
			flag=1;
			b[i++]=*p;
		}
	}
	b[i]='\0';
	cout<<b<<endl;
	return 0;
}
int main()
{
	int i,j,k;
	char a[300]={'\0'};
	char c[300]={'\0'};

    for(i=0;;i++)
	{
		a[i]=getchar();
		if(a[i]=='\n')
		{break;}
	}
	k=i;
	//printf("%s",a);
	
	
	c[0]=a[0];
	

	for(i=1,j=1;i<k;)
	{
		
		if(a[i]!=' ')
		{c[j]=a[i];j++;i++;}
		if((a[i]==' ')&&(a[i-1]!=' '))
		{c[j]=a[i];j++;i++;}
		if((a[i]==' ')&&(a[i-1]==' '))//'\0'????????
		{i++;}
		//printf("%c",c[j]);
	}

	for(i=0;i<j;i++)
	{printf("%c",c[i]);}
	return 0;
}
void main()
{
	int i;
	char s[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");
}
void main()
{char s[999],*p;
int i,j;
gets(s);
p=s;
for(;*p!='\0';p++)
if(*p!=' ')
printf("%c",*p);
else
if(*p==' '&&*(p+1)!=' ')
printf("%c",*p);
}
int main()
{
    char a[200],*q;
    gets(a);            //????? 
    q=a;
    for(int i=0;i<strlen(a);i++)
    {if(*(q+i)!=' ')
       cout<<*(q+i);
     if(*(q+i)==' ')         //??????? 
       if(*(q+i-1)!=' ')
       cout<<*(q+i);
       }
       cout<<endl;
   

return 0;
}
int main()
{
int i,j=0,a;
char s[200],m[200];
gets(s);
a=strlen(s);
for(i=0;i<=a-1;i++)
    {
	if(s[i]==' '&&s[i+1]==' ')
		{
		s[i]='0';
		}
	}
for(i=0;i<=a-1;i++)
    {
        if(s[i]!='0'){m[j]=s[i];j++;}
    }
puts(m);
return 0;
}
int main()
{
	char a[1000];
	gets(a);
	for(char *p=a;*p!='\0';p++)
	{
		if(*p==' '&&*(p+1)==' ')
		{

		}
		else
			cout<<*p;
	}
	return 0;
}
void main()
{
	char *p;
	int i,j,k,l;
	p=(char*)malloc(50*sizeof(char));
	gets(p);
	l=strlen(p);
	for(i=0;i<l;i++)
	{
		if(*(p+i)==' ')
		{   
		  	printf("%c",*(p+i)); 
		   	for(k=i+1;k<l;k++)
            {
			   if(*(p+k)!=' ')  {i=k-1;break;}
            }
		} 
		
 	    else printf("%c",*(p+i));
       
  	 }
        
    free(p);
}