semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
/*
 * ???????.cpp
 *  Created on: 2012-12-11
 *  Author: ???
 */
int main() {
	int n;
	char a[100], *p = a;
	cin >> a;
	n = strlen(a);
	for (int i = 0; i < n; i++) {
		cout << *(p + i);
	}
	while (cin >> a) {
		cout<<' ';
		n = strlen(a);
		for (int i = 0; i < n; i++) {
			cout << *(p + i);
		}
	}
	return 0;
}
int main()
{
	char s[1000],word[100][20];
	int i,j,k,len;
	gets(s);
	len=strlen(s);
	j=0;
	k=0;
	for(i=0;i<len;i++){
		if(s[i]!=' '){
			word[j][k]=s[i];
			k++;
		}
		else if((s[i]==' ')&&(s[i-1]!=' ')){
			word[j][k]='\0';
			j++;
			k=0;
		}
		else{
			continue;
		}
	}
	word[j][k]='\0';
	for(i=0;i<j;i++){
		printf("%s ",word[i]);
	}
	printf("%s",word[i]);
	return 0;
}
int main()
{
	char sentence[100] ;
	char *pos = NULL ;
	cin.getline(sentence , 100) ;
	int len = strlen(sentence) ;
	cout << sentence[0] ;
	for ( pos = &sentence[1] ; pos < &sentence[len] ; pos++ )
	{
		if ( *pos == ' ' && *(pos-1) == ' ' )
			continue ;
		else 
			cout << *pos ;
	}
	cout << endl ;
	return 0 ;
}
int main(){
    char z[1000];
	int i,j;
	gets(z);
	for(i=0;z[i];i++){
        if(z[i]==' '&&z[i+1]==' '){
			for(j=i;z[j];j++){
                z[j]=z[j+1];
			}
			i--;
		}
	}
	puts(z);
	return 0;
}
main()
{  int i,j;
   char a[1000];
   gets(a);
   for(i=1;;i++)
{  
      if(a[i]==' '&&a[i-1]==' ')
{     for(j=i;;j++)
   {  a[j]=a[j+1];
      if(a[j+1]=='\0')
      break;    }
      i=i-1;        
}
    if(a[i]=='\0')    
    break;
}
  printf("%s",a);
   getchar();
    getchar();

     
}
int main()
{
    char a[1000];
	int i=0;
	gets(a);
	while(a[i]!='\0')
	{
		if(a[i]!=' ')printf("%c", a[i]);
		else if(a[i+1]!=' ')printf(" ");
		i++;
}
	return 0;
}
int main(){
     char first,second;
     first=getchar();
     printf("%c",first);
     second=getchar();
     while (second!=EOF){
       if (!(first==' '&&second==' ')) 
         printf("%c",second);
       first=second;
       second=getchar();
       }
     return 0;
     }
int main ()
{
	char a[100]={'\0'};//???????????
	char c;
	int i=1;
	while(c=cin.get())//????
	{
		 if((a[i-1]==' ')&&(c==' '))//?????? ??????????
		{
			
			continue;
		}
		
		  if(c=='\n')//???????????
		{
			break;
		}
		 else
		 {
		   a[i]=c;
		   i++;
		 }

	}
	for(int i=1;i<100;i++)//????????
	{
		 if(a[i]!='\0')
		  {
		    cout<<a[i];
		  }

	}





	return 0;
}
main()
{
      char c;
      int flag=1,a;
      scanf("%c",&c);
      while(c!='\n') 
      {
           if((c==' ' && flag)||(c!=' ')) printf("%c",c);
           if(c==' ') flag=0;
           else flag=1;
           scanf("%c",&c);
      }
}
int main ()
{
    int a[10000],n;
    for (int i=1;i<=9999;i++)
    {
        a[i]=getchar();
        if (a[i]==10)
        {
           n=i-1;
           break;
        }
    }
    for (int i=1;i<=n-1;i++)
    {
        if ((a[i]==' ')&&(a[i+1]==' '))
        {
           for (int j=i+1;j<=n-1;j++)
           a[j]=a[j+1];
           n=n-1;
           i=1;
        }
    }
    for (int k=1;k<=n;k++)
    putchar(a[k]);
    return 0;
}
int main()
{
 char *p=NULL;                 //????
 char string_1[1000];            //???????????
 gets(string_1);                      
 p=string_1;
 int clen,kong=0;
 clen=strlen(string_1);
 for(int i=0;i<clen;i++)
 {
  if(*(p+i)==' ')
  {
   if(*(p+i-1)==' ')
   {
	   kong++;                   //???++
    for(int j=i;j<clen-kong;j++)
	{
	 *(p+j)=*(p+j+1);
	}
	i--;
	*(p+clen-kong)='\0';            //?????????????'\0'
   }
  }
 }
 cout<<p<<endl;
}
int main()
{ char c;
char str[10000]={0};
  int m=0,i,j=0,k=0;
  int sum=0,s;
  int b[100000];
while((c=getchar())!='\n')
{
	str[m]=c;
	m++;
}
for(i=0;i<m;i++)
{
	if((str[i]==' ')&&(str[i-1]==' '))
	{
	b[j]=i;
	j++;
}
}
for(i=0;i<m;i++)
{ sum=0;
	for(k=0;k<j;k++)
	{
		
	   if(i!=b[k])
		   s=0;
	   else 
		   s=1;
	sum=sum+s;
	
	
	}
	if(sum==0)
cout<<str[i];



}
 



	return 0;














}
void main()
{
 char s[100];
 int i,j;
 gets(s);
 char *p=s;
 for(i=0;i<strlen(s);)
 if(*(p+i)==' '&&*(p+i-1)==' ')
 {for(j=i;j<strlen(s);j++)
   *(p+j)=*(p+j+1);} 
 else i++;
 for(i=0;i<strlen(s);i++)
 printf("%c",*(p+i));
}
int main()
{
    char c;
    int flag = 0;
    for (;;)
    {
        c = cin.get();
        if (c == '\n') break;
        if (c != ' ') {cout << c; flag = 0;}
        else
        {
            if (flag) continue;
            else
            {
                flag = 1;
                cout << c;
            }
        }
    }
  
    return 0;
}
int main(){
 int n,i,k,b=0;
 char jj[255];
  gets(jj);
  n=strlen(jj);
  for(k=0;k<n-1;k++){
	  if(jj[k]==' '&&jj[k+1]==' '){b++;
	  for(i=k;jj[i];i++){jj[i]=jj[i+1];}k=k-2;}}i=0;
  for(i=0;i<n-b;i++){
	  printf("%c",jj[i]);}
 
 return 0;
}
void delsp(char *c)
{
    int flag = 0, n = 0;
    for (; *(c + n) != '\0'; c++)
    {
        if (*(c + n) == ' ')
        {
            if (*(c + n + 1) == ' ')
            {
                n++;
                *c = *(c + n);
                c--;
            }
        }
        else
        *c = *(c + n);
    }
    *c =  '\0';
}

int main()
{
    char sen[100];
    cin.getline(sen, 100);
    delsp(sen);
    cout << sen;
    return 0;
}
void main()
{
	int i,l,k=0,j;
	char *p,*a;
	a=calloc(10000,sizeof(char));
	p=a;
	gets(p);
	l=strlen(p);
	for(i=0;i<l;i++)
	{
		if(*(p+i)==' '&&k==0) {k=1;}
		else if(*(p+i)==' '&&k==1) {for (j=i;j<l-1;j++) *(p+j)=*(p+j+1);*(p+l-1)=0;i--;l--;}
		  else k=0;
	}
	puts(p);
}
int main()
{
	char ch[200];
	char*a[30];
	int i,k;

	for(i=0;i<30;i++)
	{
		a[i]=NULL;
	}
	cin.getline(ch,110);
	a[0]=strtok(ch," ");
	i=1;
	while((a[i]=strtok(NULL," "))!=NULL)
	{
		i++;
	}
	for(k=0;k<i-1;k++)
	{
		cout<<a[k]<<' ';
	}
	cout<<a[i-1];
	return 0;
}
int main()
{
	int n,i,j=0,k,B;
	char a[200],b[200];
	gets(a);
	int A=B=strlen(a);
	for(i=A-1;i>=0;i--)	
	{
		if(a[i]==' ')	B--;
		else break;
	}
	for(i=0;i<B;i++)
	{
		if(a[i]!=' ')
		{
			b[j]=a[i];
			j++;
		}
		else
		{
			b[j]=' ';
			j++;
			for(k=i;k<B-1;k++)	if(a[k+1]!=' ')	break;
			i=k;
		}
	}
	for(i=0;i<j;i++) printf("%c",b[i]);
}
int main(){
    char s[201],q[201];
    int i=0,j=0;
    gets(s);
    while(s[j]){
        if(s[j]!=' '||(s[j]==' '&&s[j-1]!=' '))
       {q[i]=s[j];
        i=i+1;}
        j=j+1;
    }
    q[i]='\0';
    printf("%s",q);
    return 0;
    
}
main()
{
      char a[100000]={0};
      gets(a);
      for(int i=0;;i++)
      {
              if (a[i]==0) break;
              else
              {
              if(a[i]!=' ') printf("%c",a[i]);
              if(a[i]==' ' && a[i+1]!=' ') printf("%c",a[i]);
              }
      }
}
void main()
{
	char *s;
	s=(char*)calloc(100000,sizeof(char));
	gets(s);
	for(;*s!='\0';s++)
	   if((*s!=' ')||((*s==' ')&&(*(s-1)!=' ')))
	     printf("%c",*s);
    printf("\n");
}
int main()
{
	int i,j,k,n,t=0;
	char s[100];
	gets(s);
	k=strlen(s);
	for(i=0;i<k;i++) {
		if(s[i]==' ') {
			if(s[i+1]==' ') {
				t=t+1;
				for(n=i;n>=t-1;n--) {
					s[n+1]=s[n];
				}
				
			}
			}
		
	}
		for(j=t;j<k;j++) 
			printf("%c",s[j]);
		return 0;
}
int main()
{
	char str[300];
	int i;
	char c;
	gets(str);
	for(i=0;(c=str[i])!='\0';i++)
	{
		if((c=str[i])==32)
		{
			if((c=str[i-1])==32)
				continue;
		}
		printf("%c",str[i]);
	}
	printf("\n");
	return 0;
}
int main()
{
    //char a[10000];
    char *p,*p1;
    p1=p=(char *)malloc(100*sizeof(char));
    int i,n;
    for(i=0;*(p+i-1)!='\n';i++)
    {
                            scanf("%c",(p+i));
                            //printf("%c",*(p+i));
    }
    n=i;
    //gets(a);
    //p=p1;
    for(;*p!='\0';p++)
    {
                         if(((*p!=' ')&&(*(p+1)==' '))||((*p==' ')&&(*(p+1)!=' '))||((*p!=' ')&&(*(p+1)!=' '))||((*p!=' ')&&(*(p+1)=='\0')))
                         {
                                      printf("%c",*p);
                        }}
    return 0;
}
/*
 * xitishuzu12.cpp
 *
 *  Created on: 2013-11-1
 *      Author: 
 */
int main ()
{
	char a[100];
	int i,k;
	cin.getline(a,100);
	for(i=0;a[i]!='\n';i++)
		if(a[i]==' ')
			{
			  while (a[i+1]==' ')
			  {
				  for(k=i+1;k<strlen(a);k++)
				  {
				    a[k]=a[k+1];
				  }
			  }
			}
	cout<<a<<endl;
	return 0;
}

/*
???????????????????????????????????
????
??????????????????
????
???????
????
Hello      world.This is    c language.
????
Hello world.This is c language.
????
*/
int main()
{
	char a[10000];
	int n,i,j,k;
	gets(a);
	for(i=0;a[i]!='\0';i++)
	{
		
		if((a[i]==' ')&&(a[i-1]==' '))
		{
			continue;
		}
		else 
		{
			printf("%c",a[i]);
		}
	}


	
	
	
	return 0;
}
int main()
{
	char origin[100];
	char transfer[100];
	cin.getline(origin, 101);
	char *p = origin;
	char *q = transfer;
	int n = 0;
	for (int i = 0; i < strlen(origin); i++)
	{
		if (*p == ' '&& *(p-1) == ' ')
			p++;
		else
		{
			*q = *p;
			n++;
			q++;
			p++;
		}
	}
	q = transfer;
	for (int i = 1; i <= n; i++)
	{
		cout << *q;
		q++;
	}
	cout << endl;
	return 0;
}
int main(){
	int i,p,n=0,s=0;
	char snt[1000];
	gets(snt);
	for(i=0;snt[i]!='\0';i++)
	{
		n++;
	}
	for(i=0;i<=n;i++)
	{
		s=0;
		if(snt[i]==' ')
		{
			for(p=i+1;snt[p]==' ';p++)
			{
				s++;
			}
			for(p=i+1;p<=n-s;p++)
			{
				snt[p]=snt[p+s];
			}
		}
		n-=s;
	}
	printf("%s\n",snt);
	return 0;
}
int main()
{
	char word[100];//??????????????
	int i,p=0,k=0;//??????i?k????????p
	while(cin.getline(word,100))//????
	{
		for(i=0;i<100;i++)//???????p
		{
			if(word[i]!='\0')p=i;
			else break;
			
		}
		for(i=0;i<=p;i++)
		{
			if(word[i]==' ')//??????????????????????????????????????????????
			{
				if(word[i+1]==' ')
				{
					for(k=i;k<=p;k++)
						word[k]=word[k+1];
					i--;
					p--;
				}
			}
		}
		for(i=0;i<=p;i++)//?????
			cout<<word[i];
	}
	return 0;

}
int main()
{
char s[200];
cin.get(s,200);
int n=strlen(s);

for(int i=0;i<n;i++)
{
	if(s[i]==' '&&s[i+1]==' ')
	{
	s[i]='\0';
	}
}
for(int i=0;i<n;i++)
{
	if(s[i]==0)continue;
	cout<<s[i];
}



return 0;
}
int main()
{ 

 char a[10000];
 gets(a);
 for(int i=0;i<strlen(a);i++){
       if(a[i]!=' '){
                   printf("%c",a[i]);
                   }
       else if(a[i]==' '&&a[i+1]!=' '){
            printf("%c",a[i]);
            }
                  }
                                      

    return 0;
}
int main()
	{
		char a[3000],b[30000];
		int i,x=0,y,n,k=0;
	
			gets(a);
			
			for(i=0;a[i]!='\0';i++)
			{   
				if((a[i]!=' ')||((a[i]==' ')&&(a[i+1]!=' ')))
				{
					b[k]=a[i];
					
					k++;
				}
				
				
				if((a[i]==' ')&&(a[i+1]==' '))
				{		
					b[k]=' ';
					k++;
					x=i;
					for(y=x+1;a[y]==' ';y++)
					{
						i++;	
					}
				
				}
			}
			b[k]='\0';
					
			puts(b);
			
		
		return 0;
	}
//***************
//????2.cpp *
//?  ??zjq*
//***************
int main()
{
	char str[101];//?????
	int n=0,count=0,i,j,k;
	cin.get(str,101,'\n');//?get????????
	n=strlen(str);//?n????????
	for(i=0;i<n;i++)
	{
		if (str[i]!=' ')continue;
		for (j=i+1;j<n;j++)
		{
			if(str[j]==' ')
				count++;
			else
				break;
		}//????????????
		if(count>0)
		{
			for (k=i+1;k<n;k++)
				str[k]=str[k+count];
		}//?????????????????????
		count=0;
	}
	cout<<str;
	return 0;
}
int main (){
    int n,i,k=1,len;
    char zfc[201],sz[201]={0};
    gets(zfc);
    len=strlen(zfc);
    sz[0]=zfc[0];
    for(i=1;i<len;i++){
        if(zfc[i-1]==' '&&zfc[i]==' '){
        }else{
            sz[k]=zfc[i];
            k++;
        }
    }
    printf("%s",sz);
    return 0;
}
int main()
{
    char str[1000];
    memset(str, 0, sizeof(str));
    cin.getline(str, 1000, '\n');
    for (int i = 0; str[i]; i ++)
    {
        if (str[i] != ' ')
            cout << str[i];
        else
        {
            if (str[i + 1] != ' ')
                cout << str[i];
         }
    }
    cout << endl;
    return 0;
}
main(void)
{
 int space=1,i=-1;
 char a[80];
 gets(a);
 
 while(a[++i]!='\0')
 {
  if(a[i]==' ') space=0;
  else 
  {
   if(space==0)   
   { space=1;printf(" ");}
      printf("%c",a[i]);
  }
 }
}
int main()
{
	char in[200],out[200];
	int len,i,j=0;
	gets(in);
	len=strlen(in);
	for(i=0;i<len;i++)
		if(in[i]!=' ')
			out[j++]=in[i];
		else
			if(in[i+1]!=' ')
				out[j++]=' ';
			else
				continue;
	out[j]='\0';
	puts(out);
	return 0;
}
int main()
{
char c[100];
cin>>c;
cout<<c;
char a[100];
while(cin>>a)
{
cout<<' '<<a;
memset(a,0,sizeof(a));
}
}
int main()
{char a[200],b=' ';int i;
gets(a);
for(i=0;a[i]!=0;i++)
if(a[i]!=b||a[i+1]!=b)
printf("%c",a[i]);}
int main(){
	int i,j,n;
	char a[300],b[300];
	gets(a);
	j=0;
	for(i=0;a[i]!='\0';i++){
		if(a[i]!=' '){
			b[j]=a[i];
			j=j+1;}
		else{
			b[j]=a[i];
			j=j+1;
			while(a[i+1]==' ')
			{
				i=i+1;
			}
		}
	}
	b[j]='\0';
	puts(b);
return 0;
	}
int main()
{
    int i, len;
    char str[200];
    cin.getline(str,200);
    len=strlen(str);
    cout<<str[0];
    for(i=1;i<=len-1;i++)
    {
        if(str[i]!=' ' && str[i-1]==' ')
            cout<<" "<<str[i];
        else if(str[i]!=' ' && str[i-1]!=' ')
            cout<<str[i];                 
    }
    int x;cin>>x;
    return 0;
    
    
    
    
    }
int main()
{
	char a[256];
	int i=0,j,k=0;
	int n=0;
	int count=0;
	int m;
	int ax=0;
	gets(a);
	m=strlen(a);
	while(a[n]!=0)
	{
		if(a[n]!=' ')
		{
			printf("%c", a[n]);
		}
		if(a[n]==' ')
		{
			for(i=n;i<m;i++)
			{
				if(a[i]==' ')
				{
					count++;
				}
				if(a[i]!=' ')
				{
					break;
				}
			}
			printf(" ");
			n+=count-1;
			count=0;
		}
		n++;
	}
}
int main()
{   char s[255];
    char si[255];
    int i;
    int n=0;
    gets(s);
    for(i=0;s[i];i++)
    { if(s[i]!=' ')
      { si[n]=s[i];
        n++;}
      else if(s[i]==' '&&s[i-1]!=' '&&i>0)
      {  si[n]=s[i];
         n++;}
      else if(i==0&&s[i]==' ')
      {  continue;}
      }
    si[n]='\0';
    puts(si);
    return 0;
}
int main()
{
	char str[100], t;
	char *p = str, *q = NULL;
	int count = 0;
	gets(str);
	for (p = str; *p != '\0'; p++)
	{
		if (*(p - 1) == ' ' && *p == ' ')
		{
			for (q = p; ; q++)
			{
				t = *q;
				*q = *(q + 1);
				*(q + 1) = t;
				if (*q == '\0')
				{
					break;
				}
			}
			if (*p == ' ')
			{
				p--;
			}
		}
	}
	cout << str << endl;
	return 0;
}
/*
 * Filterredundantspace.cpp
 *
 *  Created on: 2012-11-21
 *      Author: ???
 */
int i,b;
int main(){
	char a[50];                  //???????
	cin.getline(a,50);           //??????????
	b=strlen(a);                 //????????
    for(i=0;i<b;i++){
		if(a[i]!=' ')  cout<<a[i];
		else  if(a[i]==' '&&a[i+1]!=' ')  cout<<' ';  //???????????????????????????????????????????????


	}




}
int main(){
    int i=0,flag=0;
    int c;
    c=getchar();
    while (c!=EOF){
        if (flag==0&&isgraph(c)) printf("%c",c);
          else if (flag==0){
               printf("%c",c);
               flag=1;
               }
               else if (isgraph(c)){
                    printf("%c",c);
                    flag=0;
                    }
        c=getchar();
        i++;
        }
}
//********************************
//*?????????   **
//*????? 1200012917 **
//*???2012.12.7  **
//********************************
int main()
{
	char *p = NULL;
	char str[100];
	int t = 0, i = 0;
	cin.getline(str, 100);
	p = str;
	for (; *p != '\0'; p++)
	{
		if (*p == ' ')
		{
			if (t == 0)
			{
				*(str + i) = *p;
				i++;
				t = 1;
			}
		}
		else
		{
			*(str + i) = *p;
			i++;
			t = 0;
		}
	}
	for (p = str; p <= str + i - 1; p++)
	{
		cout << *p;
	}
	cout << endl;
	return 0;
	
}
int main()
{	
	char b[101],a[101][101];
	cin.getline(b,101);
	a[0][0]=b[0];
	int k=1,i=0,j=1;
	while(b[k]!='\0')
	{
		if(b[k]!=' ')
			a[i][j++]=b[k];
		else
		{
			if(b[k]==' '&&b[k+1]!=' ')
				{
					a[i][j]='\0';
					i++;
					j=0;
				}
		}
		k++;
	}
	int t;
	for(t=0;t<i;t++)
		cout<<a[t]<<" ";
	cout<<a[i]<<endl;
	return 0;
}
int main(){
	char a[10000];
	gets(a);
	int i,k;
	for(i=0;a[i]!='\0';i++){
		if(a[i]==' '){
			while(1){
				if(a[i+1]==' '){
					for(k=i;a[k]!='\0';k++){
						a[k]=a[k+1];
					}
				}else{
					break;
				}
			}
		}
	}
	printf("%s",a);
	return 0;
}
int main() {
	char a[201];
	cin.getline(a,201);
	char *p=NULL;
	p=a;
	for(int i=0;i<=strlen(a);i++){
	if(*(p+i)==' '&&*(p+i+1)==' '){
		for(int j=i;j<=strlen(a)-1;j++)
			*(p+j)=*(p+j+1);
	     i--;
	}
	}
	for(int i=0;a[i]!='\0';i++)
	cout <<*(p+i);
	return 0;
}
int main()
{
    char a[1000];
	int n,i;
	gets(a);
	int zimu(char x);
	n=strlen(a);
	for(i=1;i<n-1;i++)
	{
		if(a[i]==' ')
		{
			if(zimu(a[i-1])==1)
			{
              if(zimu(a[i+1])==0) a[i]='1';
			}
			if(zimu(a[i-1])==0)
			{
				if(zimu(a[i+1])==0) a[i]='1';
			}
		}
	}
	for(i=0;i<n;i++)
	{
		if(a[i]!='1') printf("%c",a[i]);
	}
	return 0;
}


int zimu(char x)
{
	int a;
	if((x>=65&&x<=90)||(x>=97&&x<=122)) a=1;
	else a=0;
	return a;
}
int main()
{
    char zfc[5000],jz[5000];
    int i,k=1,n;
    gets(zfc);
    n=strlen(zfc);
    jz[0]=zfc[0];
    for(i=1;i<n;i++)
    {
        if(zfc[i]!=' ')
        {
            jz[k]=zfc[i];
            k++;
        }
        if(zfc[i-1]!=' '&&zfc[i]==' ')
        { 
            jz[k]=zfc[i];
            k++;
        } 
        if(zfc[i-1]==' '&&zfc[i]==' ')
        {
        }
        if(zfc[i-1]=='.'&&zfc[i]==' ')
        {
        }
    } 
    puts(jz);         	
 return 0;
   
}
int main()
{
	char s[250];
	char t[250];
	int i,j=0;
	gets(s);
	for(i=0;s[i]!='\0';i++)
	{    
		if(s[i]!=' ')
		{	 
			t[j]=s[i];
			j++;
		}
		else
		{	 
			t[j]=' ';
			j++;
			while(s[i]==' ')
			{ 
				i++;}
				i=i-1;	
			
		}
	}
		t[j]='\0';
		puts(t);
return 0;
}
main()
{
      char a[101],b[101];
      int n,i,j=0;
          gets(a);
      n=strlen(a);
                  for(i=0;i<n-1;i++)
                                  { if(a[i]==' '&&a[i+1]==' ')
                                    continue;
                                    else 
                                      {b[j]=a[i];
                                       j++;
                                      }
                                  }
      if (a[n-1]==' ' )
      b[j]='\0';
      else 
      {b[j]=a[n-1];
       b[j+1]='\0';
      }
      puts(b);
      getchar();
}
/* ???????????.cpp
 * ??? 1200012826 ??
 * ???2012?12?9?
 */
int main()
{
	char a[200];
	int i;
	char *p=a, *q=NULL;
	cin.getline(a, 200, '\n');
	while(*p != '\0')
	{
		if(*p == ' ')
		{ 
			if(*(p+1) != ' ')
			{
				p++;
			}
			else
			{
				q=p;
				for(p=p+1; *p != '\0'; p++)
				{
					*p= *(p+1);
				}
				p=q;
			}
		}
		if(*p != ' ')
		{
			p++;
		} 
	}
	p=a;
	for( ; *p != '\0'; p++)
	{
		cout << *p ;
	}
	return 0; 
}
int main ()
{
    int i=0,j=0,x;
    char a[200],b[200];
    gets(a);
    for(i=0;a[i]!='\0';i++)
    {
        if(a[i]!=' '){b[j]=a[i];
        j++;
        }
        else if(a[i]==' '){
        for(x=0;a[i]==' ';i++)
        {
            x++;
        }
        if(x>=1){b[j]=' ';
        j++;
        i=i-1;
        }
        }
    }
    b[j]='\0';
    printf("%s",b);
    return 0;
}
int main()
{
    int len, i;
    char *p;
    char a[200];
    p=a;
    cin.getline(a,200);
    len=strlen(a);
    for(i=0;i<len-1;i++)
    {
        if(*(p+i)!=' ' && *(p+i+1)==' ')
        cout<<*(p+i)<<" ";
        else if(*(p+i)!=' ' && *(p+i+1)!=' ')
        cout<<*(p+i);             
    }
    cout<<*(p+len-1);
    int y;cin>>y;
    return 0;
    
}
/*
 * extra.cpp
 * ???????
 *  Created on: 2012-11-21
 *      Author: ???
 */
int main() {
	int i;
	char str[100];
	cin.getline(str, 100);
	cout << str[0];
	for (i = 1; i < strlen(str) - 1; i++) {
		if (str[i] != ' ') {
			cout << str[i];
		} else if (str[i] == ' ' && str[i + 1] == ' ') {
			continue;
		} else if (str[i] == ' ' && str[i + 1] != ' ') {
			cout << ' ';
		}
	}
	cout << str[strlen(str) - 1];
	return 0;
}
int main(){
      int  i=0,j=0;
      char c[1000];
          gets(c);
      for(i=0;c[i]!='\0';i++){
          if(c[i]!=' '){
            printf("%c",c[i]);
             }
          else if(i>=1&&c[i]==' '){
                  if(c[i-1]!=' '){
                     printf(" ");
                      }
               }
            
          } 
    
    // scanf("%d",&i);
      return 0;
      }
int main()
{
	char ch[101]; 
	char *j, *q;
	char *i;
	char *p = ch;
	cin.getline(ch,101);
	for(; *p != '\0'; p++)
	{
		if(*p == ' ')
		{
			if(*(p + 1) == ' ')
			{
				for(j = p; *j != '\0'; j++)
				{
					*j = *(j + 1);
				}
				p--;
			}
		}
	}
	q = p;
	for(i = &ch[0]; i < q; i++)
	{
		cout << *i;
	}
	return 0;
}
void main()
{
int i;
char *p;
p=(char*)malloc(1000*sizeof(int));
gets(p);
for(i=0;*(p+i)!='\0';i++)
{
if(*(p+i)==' ')
{
printf(" ");
for(i=i+1;*(p+i)==' ';i++);
i=i-1;
}
else{printf("%c",*(p+i));}
}
}
int main(){
	char a[101],m;
	int b,i,j,k;
	gets(a);
	b=strlen(a);
	for(k=0;k<b;k++){
		for(i=1;a[i];i++){
			if(a[i]==32&&a[i-1]==32){
				for(j=i;j<b-1;j++){
					m=a[j];
					a[j]=a[j+1];
					a[j+1]=m;
				}
			}
		}
	}
	for(i=0;i<b;i++){
		if(a[i]==32&&a[i+1]==32){
			a[i]='\0';
			break;
		}
	}
	printf("%s",a);
	return 0;
}
void main()
{
	int i,j=0;
  char *a;
  a=(char *)malloc(1000*sizeof(char));
  char *b;
  b=(char *)malloc(1000*sizeof(char));
  gets(a);
  for(i=0;;i++)
  {   
	  if(*(a+i)=='\0')
	  {
		  *(b+j)='\0';
		  break;
	  }
	  else if(*(a+i)!=' ')
	  { 
		  *(b+j)=*(a+i);
		  j+=1;
	  }
	  else if(*(a+i)==' '&&*(a+i-1)!=' ')
	  {
		  *(b+j)=*(a+i);
		  j+=1;
	  }
	  else 
		  j+=0;
	 
  }
  for(j=0;*(b+j)!='\0';j++)
	  printf("%c",*(b+j));
}
int main()
{
	char str[100],ch[100];
	memset(ch,0,sizeof(ch));
	memset(str,0,sizeof(str));
	cin.getline(str,100);
	int i,j=0,flag=0;
	for(i=0;str[i] != '\0';i++)
	{
		if(str[i]==' ' && flag==0)
		{
			flag++;
			ch[j++] = str[i];
		}
		if(str[i]!=' ') 
		{
			ch[j++]=str[i];
			flag=0;
		}
	}
	cout<<ch<<endl;
	return 0;
}
int main(){
	char a[100];
	int b[100]={0};
    int i,j;
	scanf("%c",&a[0]);
    for(i=1;;i++){
            scanf("%c",&a[i]);
            if(a[i]==' '){
                       if(a[i-1]==' '){
                                   b[i]=1;
                                   }
                                   }
            if(a[i]=='\n')
            break;
            }
    for(j=0;j<i;j++){
                     if(b[j]==0){
                                 printf("%c",a[j]);
                                 }
                                 }
                                 
     scanf("%d",&i);       
            
return 0;}
void main()
{
	 int i,j,k=0,m=0,n;
	char *p,(*q)[100];
	p=(char *)malloc(100*sizeof(char));
	q=(char (*)[100])malloc(100*100*sizeof(char));
    
	for (i=0;i<100;i++)
	{
		scanf ("%c",p+i);
	}
	for (j=0;*(p+j)!='\0';j++)
	{
		if (*(p+j)!=' '&&*(p+j-1)!=' ')
		{
			*(*(q+k)+m)=*(p+j);
			m++;
		}
		if (*(p+j)!=' '&&*(p+j-1)==' ')
		{
			*(*(q+k)+m)='\0';
			k++;
			m=0;
                           *(*(q+k)+m)=*(p+j);
                           m++;

		}
	}
	for (n=0;n<=k;n++)
	{
		printf ("%s ",*(q+n));
	}
}
int main()
{    
    int i,len,j;
    char str[100];
    cin.getline(str,100);
    len=strlen(str);
    
    int space[100]; 
    for (i=0;i<100;i++)
    {
        space[i]=len+1;
    }
    int k=0;
    for (i=0;i<=len-2;i++)
    {
        if (str[i]==' ')
        {
                      if (str[i+1]==' ')
                      {
                                      space[k]=i+1;
                                      k++;
                      }
        }
    }
    
    int s[1000],m;
  
    for (i=0;i<=len-1;i++)
    {   
        j=0;
        while ((space[j]!=i)&&(j<k))
        {
              j++;
        }
        if (j==k)
        {
            s[i]=1;
        }
        else
        {
            s[i]=0;
        }
    }

   for (i=0;i<=len-1;i++)
    {
            if (s[i]==0)
            {
                     ;
            }
            else
            {
                cout << str[i];
            }
    }

    return 0;
}
int main()
{
	char *p;
	int i,j,k,num=0;
	p=(char *)malloc(10000*sizeof(char));
	gets(p);
	for (i=0;i<strlen(p)-num;i++)
	{
		if (*(p+i)==' '&&*(p+i+1)==' ')
		{
			k=i;
			for (j=i+1;j<strlen(p)-num;j++,i++)
				*(p+i)=*(p+j);
			num++;
			i=k-1;
		}
	}
	for (i=0;i<strlen(p)-num;i++)
		printf("%c",*(p+i));
	return 0;
}