semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
   int len,n,w,i,wordnum=0,charnum=0;
   char word[50][20]={0};
   char s[1000]={0},o[20]={0},a[20]={0};
   gets(s);
   gets(o);
   gets(a);
   len=strlen(s);
   for(i=0;i<len;i++)
   {
	   if(s[i]!=' ')
	   {
		   word[wordnum][charnum]=s[i];
	       charnum++;
	   }
       if(s[i]==' ')
	   {
	       wordnum++;
		   charnum=0;
	   }
   }
   w=wordnum;
  for(wordnum=0;wordnum<=w;wordnum++)
  {
     if(strcmp(o,word[wordnum])==0)
	 {
		 strcpy(word[wordnum],a);
	 }
	 
  }
  printf("%s",word[0]);
  for(wordnum=1;wordnum<=w;wordnum++)
	  printf(" %s",word[wordnum]);
	return 0;
}
void main()
{


	char *s,*a,*b,*p,*end;
	s=(char *)malloc(100*sizeof(char));
	a=(char *)malloc(100*sizeof(char));
	b=(char *)malloc(100*sizeof(char));
	p=(char *)malloc(100*sizeof(char));
	gets(s);
	gets(a);
	gets(b);
	end=s+strlen(s);
	for (;;)
	{
		sscanf(s,"%s",p);
		if (strcmp(p,a)==0) printf("%s",b);
		else printf("%s",p);
		s=s+strlen(p);
		if (s>=end) break;
		s++;
		printf(" ");
	}
}
int main()
{int i,j,k;
char s[100],a[100],b[100],d[100];
        gets(s);gets(a);gets(b);
	for(j=0;;j+=(i+1))
	{for(i=0;s[i+j]!=' '&&s[i+j]!=0;i++)
		d[i]=s[i+j];
		d[i]='\0';
		if(strcmp(a,d)==0) 
          {if(s[i+j]==0) {printf("%s",b);break;}
		  else printf("%s ",b);}
		else if(s[i+j]==0) {printf("%s",d);break;}
            else printf("%s ",d);
	}
}
int main()
{
	char s[101];
	gets(s);
	int l = strlen(s);
	s[l] = ' ';
	s[l + 1] = '\0';
	char a[100];
	cin >> a;
	char b[100];
	cin >> b;
	char s1[100];
	int i;
	int j = 0;
	for(i = 0; i < strlen(s); i ++)
	{
		if(s[i] != ' ')
		{
			s1[j] = s[i];
			j ++;
		}
		else
		{
			s1[j] = '\0';
			j = 0;
			if(strcmp(a, s1) == 0)
				cout << b;
			else
				cout << s1;
			if(i != strlen(s) - 1 )
				cout << ' ';
		}
	}
}
void main()
{
	char a[30][20]={""},b[20]={""},c[20]={""};
	int i,num=1;
	scanf("%s",a[0]);
	for(i=1;getchar()!='\n';i++)
	{scanf("%s",a[i]);num=num+1;}
	scanf("%s%s",b,c);
	for(i=0;i<num;i++)
	{
		if(strcmp(a[i],b)==0)
		{strcpy(a[i],c);}
	}
	printf("%s",a[0]);
	for(i=1;i<num;i++)
	{
		printf(" %s",a[i]);
	}
}
int main()
{
	char str[100],str1[100],str2[100],word[50][50]={0};
	int len,i,row=1,col=1;
	gets(str);
	gets(str1);
	gets(str2);
	len=strlen(str);
	for(i=1;i<=len;i++)
		if(str[i-1]==' ')
		{
			row++;
			col=1;
		}
		else
		{
			word[row-1][col-1]=str[i-1];
			col++;
		}
		for(i=1;i<=row;i++)
			if(strcmp(word[i-1],str1)==0)
				strcpy(word[i-1],str2);
		printf("%s",word[0]);
		for(i=2;i<=row;i++)
			printf(" %s",word[i-1]);
		return 0;
}
int main()
{
	char s[100],a[100],b[100];
	int i=0,j=0,count=0;
	cin.get(s,100);
	cin>>a;
	cin>>b;
	for(i=0;i<=strlen(s)-strlen(a);i++)
	{
		count=0;
		for(j=i;j<i+strlen(a);j++)
		{
			if(s[j]==a[j-i])
				count++;
		}
		if(count==strlen(a)&&((s[i+strlen(a)]==' '||i+strlen(a)==strlen(s))&&(s[i-1]==' '||i==0)))
		{
			for(j=i;j<i+strlen(a);j++)
				s[j]='/';
		}
	}
	for(i=0;i<strlen(s);i++)
	{
		if(s[i]!='/')
			cout<<s[i];
		else
		{
			for(j=0;j<strlen(b);j++)
				cout<<b[j];
			do
			{
				i++;
			}while(s[i]=='/'&&(i+1==strlen(s) || s[i+1]=='/'));
		}
	}
	return 0;
}
//????



char *Strlwr(char*);

int main()
{
	char input[110], replaced[110], replace[110];				//??????????????????????
	char inputL[110], replacedL[110];							//???????????????????
	char *p, *pL, *start;										//????input??inputL????
	int len;													//?????????
	char temp;

	cin.getline(input, 110);
	cin.getline(replaced, 110);
	cin.getline(replace, 110);

	strcpy(inputL, input);
	strcpy(replacedL, replaced);

	len = strlen(replaced);
	pL = strstr(inputL, replacedL);								//?????????
	start = input;												//???????
	while(pL != NULL)											//??????
	{
		if((pL == inputL || isalpha(*(pL - 1)) == 0) && isalpha(*(pL + len)) == 0)
		//??????????
		{
			p = input + (pL - inputL);							//p?????????
			*p = '\0';											//??\0?

			cout << start << replace;

			start = p + len;									//start????????????
			pL = strstr((start - input) + inputL, replacedL);	//pL??inputL?????start?????
		}
		else
		{
			p = input + (pL - inputL) + len;					//p?????????
			temp = *p;											//???
			*p = '\0';

			cout << start;

			start = p;											//????????
			*start = temp;										//????
			pL = strstr((start - input) + inputL, replacedL);
		}
	}


	cout << start << endl;										//????????

	return 0;
}

char *Strlwr(char *p)
{
	for(; *p != '\0'; p++)
		if(*p >= 'A' && *p <= 'Z')
			*p += 32;

	return p;
}
int main() {
	char part[100], full[1000], change[100];
	char new[1000];
	char *diff2;
	gets(full);
	gets(part);
	gets(change);


	//chech which word
	int partlen=strlen(part);
	int fulllen=strlen(full);
	int which=0;
	int end=fulllen - partlen;

	int i,j;
	int yes;
        int start=0;
        full[-1]=' ';
	for (i=0; i<=end; i++) {
		yes=1;
		for (j=0; j<partlen; j++) {
			if (full[i+j]!=part[j]) {
				yes=0;
			}
		}
		if (yes==1 && full[i-1]==' ') {
			which=i;
			strcpy(new,full);
			new[which]='\0';
			strcat(new,change);
			diff2=&full[which+partlen];
			strcat(new,diff2);
			strcpy(full,new);
                        i+=strlen(change);
		}

	}

	printf("%s",full);

	return 0;
}
void change(char word[30][15], char a[], char b[]);
void getword(char *p,char word[30][15]);
int n=0;
void main()
{
	char s[100],word[30][15]={'\0'},a[10],b[10];
	char *p=s;
	gets(s);scanf("%s%s",a,b);
	getword(p,word);
	change(word,a,b);
}

void getword(char *p,char word[30][15])
{
	int i,j=0;
	for(i=0;*p!='\0';i++)
	{
		while(*p==' ')p+=1;
		j=0;
		while(*p!=' '&&*p!='\0')
		{
			word[i][j]=*p;
			j+=1;
			p+=1;
			
		}
		n+=1;
	}
}

void change(char word[30][15], char a[], char b[])
{
	int i;
	for(i=0;i<n;i++)
	{
		if(i>0)printf(" ");
		if(strcmp(word[i],a)==0)printf("%s",b);
		else printf("%s",word[i]);
	}
}
void main()
{
	int i=0,n;
	char *s[100];
	s[0]=(char *)malloc(100*sizeof(char));
	while(scanf("%s",*(s+i))!=EOF)
	{
		i++;
		s[i]=(char *)malloc(100*sizeof(char));
	}
	n=i;
	for(i=0;i<n-2;i++)
	{
		if(strcmp(*(s+i),*(s+n-2))==0)
			strcpy(*(s+i),*(s+n-1));
		if(i!=n-3)
			printf("%s ",*(s+i));
		else
			printf("%s",*(s+i));
	}
}
int main()
{
   char word[100][100],a[100],b[100];
   int i=0;
   char tmp;

   while(scanf("%s",word[i])!=EOF)
   {
	   i++;
	   scanf("%c",&tmp);
	   if(tmp=='\n')
		   break;
   }
   scanf("%s%s",a,b);
   int j=0;
   if(strcmp(word[0],a)!=0)
   {
	   printf("%s",word[0]);
   }
   else 
   {
	   printf("%s",b);
   }
   for( j=1;j<i;j++)
   {
	    if(strcmp(word[j],a)!=0)
   {
	   printf(" %s",word[j]);
   }
   else 
   {
	   printf(" %s",b);
   }

   }
	return 0;
}
int main()
{
    char A[100],B[100],T[100],C[100][100];           //??????A?????`B???????`T???????,C??A???? 
    int i,j=0,a=0;                                   //??????i`j,????a`l 
    cin.getline(A,100,'\n');                         //????????????? 
    cin.getline(B,100,'\n');
    cin.getline(T,100,'\n');
    for (i=0;i<strlen(A);i++)
    {
        if (A[i]!=' ')
        {
           C[j][a]=A[i];
           a=a+1;
        }
        else 
        {
           a=0;
           j=j+1;
        }
    }
    for (i=0;i<=j;i++)                               
    {
        if (strcmp(C[i],B)==0)                      //?????????A????
           strcpy(C[i],T);                          //?? 
    }
    for (i=0;i<j;i++)                               //?????
        cout<<C[i]<<" ";
    cout<<C[j];
    return 0;
}
int main()
{
	char a[200],b[200],c[200],d[200];
    int ai=0,lb,la,lc,bi=0,ci=0,di=0,k;
    gets(a);
	scanf("%s",&b);
	scanf("%s",&c);
	lb=strlen(b);la=strlen(a);lc=strlen(c);
    while (ai!=la)
	{
		bi=0;ci=0;
		if (ai!=0)
		{
		if ((a[ai]==b[bi]) && (a[ai-1]==' '))
		{   
			
			k=ai; 
		    while ((a[ai]==b[bi]) && (a[ai]!=' ') && (a[ai]!='\0'))
			{    bi++; ai++; }
            if (bi==lb) 
			{ 
			    while (ci!=lc)
				{
			      d[di]=c[ci];
				  di++;ci++;
				}
			}
			else 
			{ 
			   ai=k;d[di]=a[ai];
			   di++;ai++;
			}
		}
		else 
		{
			d[di]=a[ai]; ai++;di++;
		}
		}
		else 
		{
		if (a[ai]==b[bi])
		{   
			
			k=ai; 
		    while (a[ai]==b[bi]) 
			{    bi++; ai++; }
            if (bi==lb) 
			{ 
			    while (ci!=lc)
				{
			      d[di]=c[ci];
				  di++;ci++;
				}
			}
			else 
			{ 
			   ai=k;d[di]=a[ai];
			   di++;ai++;
			}
		}
		else 
		{
			d[di]=a[ai]; ai++;di++;
		}
		}
		
		
	}
//	puts(a);puts(b);puts(c);
	d[di]='\0';
//	printf("%d",la);
	puts(d);
	return 0;
}
main()
{
   char a[100],b[100],c[100];
   gets(a);
   scanf("%s%s",b,c);
   int i,j,k,strat;
   strat=0;
   for(i=strat;a[i]!='\0';i++)
   {
      if(a[i]==b[0])
	     for(j=1,k=i+1;j<strlen(b);j++,k++)
		    if(b[j]!=a[k]) break;
          if(j==strlen(b)&&i==0)
	  {
		  for(k=strat;k<i;k++) printf("%c",a[k]);
		  printf("%s",c);
		  strat=i+strlen(b);
		  i=strat-1;
	  }

	  else if(j==strlen(b)&&a[i-1]==' ')
	  {
		  for(k=strat;k<i;k++) printf("%c",a[k]);
		  printf("%s",c);
		  strat=i+strlen(b);
		  i=strat-1;
	  }
	  j=0;
   }
   for(i=strat;a[i]!='\0';i++)  printf("%c",a[i]);
   printf("\n");
}
int main()
{
	char s[1000]={0};
	char a[100]={0},b[100]={0};
	gets(s);
	int c[1000]={0};
	scanf("%s%s",a,b);
	int i,j,k=0,h,d=0;
	int l=strlen(s);
	int p=strlen(a);
	for(i=0;i<l;i++)
	{   
		if((a[0]==s[i]&&s[i-1]==' ')||(a[0]==s[i]&&i==0))
		{
			c[d]=i;
			for(j=1;j<p;j++)
			{
				if(a[j]==s[i+j])
				{
					k=1;
				}
				else
				{
					k=0;
				}
			}
			if(k!=0)
			{
				d++;
			}	
		}
	
	}
	if(k==0)
	{
		printf("%s",s);
	}
	else
	{
		for(i=0;i<c[0];i++)
		{
			printf("%c",s[i]);
		}
		for(h=0;h<d;h++)
		{
			printf("%s",b);
			for(j=p+c[h];j<c[h+1];j++)
			{
				printf("%c",s[j]);
			}
		}
		for(j=c[d-1]+p;j<l;j++)
		{
			printf("%c",s[j]);
		}
	}
	return 0;
}
int main()
{
	char d[256];
	char words[50][256]={0};
	char a[100],b[100];
	int n=1,flag=1;
	int i,j,k=-1,l;
	gets(d);
	gets(a);
	gets(b);
	for (i=0;d[i]!='\0';i++)
	{
		if (d[i]==' ')
		{	
			n++;
		}
	}
	for (i=0;i<n;i++)
	{
		for (k=k+1,j=0;d[k]!='\0'&&d[k]!=' ';j++,k++)
		{
			words[i][j]=d[k];
					}
	}
		for(i=0;i<n;i++){
			l=strcmp(words[i],a);
		
      if(l==0){
     strcpy(words[i],b);
    flag=0;


    }
		
   
		}



if(flag==0){
printf("%s",words[0]);
for(i=1;i<n;i++){
   printf(" %s",words[i]);


}

}
if(flag==1){
  printf("%s",d);

}
	return 0;


}
/*
 * 1000012889_30.3.cpp
 *
 *  Created on: 2010-11-10
 *      Author: ???
 *        ??:????
 */



int main(){
	int k,i,j,r,h,l,m,n,p,q;
	char s[101],a[101],b[101],c[101];
	cin.getline(s,101);
	cin>>a>>b;
	k=strlen(s);
	i=strlen(a);
	j=strlen(b);
	for(r=0;r<=k-i+1;r++){
		for(h=r,l=0;h<r+i;h++,l++)
			if(s[h]!=a[l])
				break;
		if(l==i&&((r==0&&s[r+i]==' ')||(r>0&&s[r-1]==' '&&s[r+i]==' ')||(r+i==k&&s[r-1]==' '))){
			for(m=0,n=r+i;m<=k-r-i;m++,n++)
				c[m]=s[n];
			for(p=0,q=r;p<=j;p++,q++)
				s[q]=b[p];
			strcat(s,c);
			k=k-i+j;
			r=r+j;
		}
	}
	cout<<s<<endl;
	return 0;
}
int main ()
{
	int i=0 ,j=0,k=0,len;//??????
    char str1[101],orig[30],tran[30];//???????????????
	char  str2[50][30];//????????
	cin.get(str1,101,'\n');
	cin>>orig;
	cin>>tran;

	                    while(str1[i]!='\0')//??\0?
						{	
							while(str1[i]!=' ')//??  ?
							{
							   str2[j][k]=str1[i];
							       i++;k++;//??
							}
                              str2[j][k]='\0';
                               j++;//??
                               i++;//??
							   k=0;//??
						}
                  len=j-1;//??-1
				  for(i=0;i<=len;i++)
				  {
				      if(strcmp(str2[i],orig)==0)//??
						  strcpy(str2[i],tran);
				  }
                        for(i=0;i<=len-1;i++)
							cout<<str2[i]<<" ";
						cout<<str2[len];//??????????
	
return 0;
}
void main()
{
	int i=0,j;
	char (*p)[100];char a[100][100];
	char *daitihuan;
	char *tihuanwei;
	p=a;
	while (scanf("%s",p+i)!=EOF)
		i++;
	i--;
	daitihuan=(char *)malloc(10000*sizeof(char));
	tihuanwei=(char *)malloc(10000*sizeof(char));
	tihuanwei=p+i;
	daitihuan=p+i-1;
	for(j=0;j<i-1;j++)
		if(strcmp(p+j,daitihuan)==0)strcpy(p+j,tihuanwei);
		for(j=0;j<i-1;j++)
			printf("%s%s",p+j,j==i-2?"":" ");
}
char str[101], target[10001], a[101], b[101], c[101];
int i=0, j=0, k=0, len_str, len_a, len_b, pos=0, t=0;
int main(void)
{
	gets(str);
	len_str = strlen(str);
	scanf("%s%s", a, b);
	len_a = strlen(a);
	len_b = strlen(b);
	while(i<len_str)
	{
		pos=0;
		while(str[i]!=' ' && i < len_str)
			c[pos++]=str[i++];
		c[pos]='\0';
		if(strcmp(a, c)==0)
			printf("%s", b);
		else
			printf("%s", c);
		if(i==len_str)printf("\n");
		else printf(" ");
		i++;
	}
	return 0;
}
int main(){
	char zfc[101],sor[101],rep[101];
	int dec,i,j;
	gets(zfc);
	scanf("%s",sor);
	scanf("%s",rep);
	int n=strlen(zfc);
	int k=strlen(sor);
   
    
	for(i=0;i<n;i++){
		dec=0;
		for(j=i;j<=i+k-1;j++){
			if(zfc[j]!=sor[j-i]){
				dec=1;
				break;
			}
		}
		
		if(((i==0)&&(dec==0))||((dec==0)&&(zfc[i-1]==' '||zfc[i-1]==','||zfc[i-1]=='.'))){
			printf("%s",rep);
			i=i+k-1;
		}
		else{
			printf("%c",zfc[i]);
			continue;
		}
	}
	return 0;
}
void main()
{	
int i,j,l,k,m=0;
char a[100],b[100],c[100];
gets(a);
gets(b);
gets(c);
l=strlen(a);
char**p;
p=(char **)malloc(500*sizeof(char*));
for(i=0;i<=499;i++)
p[i]=(char *)malloc(500*sizeof(char));
	for(k=0,i=0;k<=l-1&&i<=499;i++)
	{
		for(j=0;j<=499;j++)
		{	
			if(a[k]!=' '&&a[k]!='\0')
			{
				p[i][j]=a[k];
					k++;
			}
			else
			{
				k++;
				p[i][j]='\0';
				m++;
				break;
			}
		}
	}
	for(i=0;i<=m-1;i++)
	{
		if(strcmp(p[i],b)==0)
			strcpy(p[i],c);
	}
for(i=0;i<=m-2;i++)
printf("%s ",p[i]);
printf("%s",p[m-1]);
}
char sen[100];
char words[50][50];
char a[50];
char b[50];


void main()
{
int wordi=0;
int i;
char *ptr,*wr;
char out[100];
gets(sen);
scanf("%s %s",a,b);
ptr=sen;
wr=words;
do
{
	if(*ptr==' ')
	{
		*wr='\0';
		wordi++;
		ptr++;
		wr=words+wordi;
	}
	else
	{
		*wr=*ptr;
		wr++;
		ptr++;
	}
}while(*ptr!='\0');
*wr='\0';
out[0]='\0';
for(i=0;i<=wordi;i++)
{
	if(strcmp(a,words+i)==0)strcat(out,b);
	else strcat(out,words+i);
	strcat(out," ");
}
out[strlen(out)-1]='\0';
puts(out);
}
int main()
{
	char word[5000],w[1000][1000],w1[1000],w2[1000];
	gets(word);
	gets(w1);
	gets(w2);
	int n,i,j=0,k=0,A;
	n=strlen(word);
	for(i=0;i<n;i++){
		if(word[i]!=' ')
		{
		 w[k][j]=word[i];
		 j++;
		 A=1;
		}
		if(word[i]==' '&&A==1){
            w[k][j]='\0';
			j=0;
			k++;
			A=0;
		}
	}
	for(i=0;i<=k;i++){
		if(strcmp(w1,w[i])==0)
		strcpy(w[i],w2);
	}
	for(i=0;i<k;i++){
		printf("%s ",w[i]);
	}printf("%s",w[i]);
	return 0;
}
int main()
{
	char n[5000];char m[100][20];
	char s1[20],s2[20];
	gets(n);gets(s1);gets(s2);
	int i,j=0,k=0,e;
	e=strlen(n);
		for(i=0;i<e;i++)
	{
		if(n[i]!=' ')
		{
			m[j][k]=n[i];
			k++;
		}
		 if(n[i]==' ')
		{
			m[j][k]='\0';
			j++;
			k=0;
		}
          }
                   m[j][k]='\0';	
        		for(i=0;i<=j;i++)
	{
		if(strcmp(m[i],s1)==0)
                  strcpy(m[i],s2);
		 
	}
         
	printf("%s",m[0]);
	for(i=1;i<=j;i++)
	{
			
	printf(" %s",m[i]);
          }
	return 0;
}
int main()
{
    char s[103], a[103], b[103], s2[210];
	int alen,slen,blen,i,j;
    s[0] = a[0] = b[0] = ' ';
    gets(&s[1]);
    cin >> &a[1] >> &b[1];
    slen = strlen(s);
    alen = strlen(a);
    blen = strlen(b);
    s[slen] = a[alen] = b[blen] = ' ';
    s[slen+1] = a[alen+1] = b[blen+1] = '\0';
    for (i=0, j=0; i<=slen; i++, j++)
    {
        if (strncmp(s+i, a, alen+1) == 0)
        {
            strcpy(s2+j, b);
            i = i + alen;
            j = j + blen;
        }
        else
        {
            s2[j] = s[i];
        }
    }

    s2[j-1] = 0;
    cout << &s2[1] << endl;
    return 0;
}
int main(){
	char s[101],a[101],b[101];
	char *ss[100];
	int i,n=0;
	gets(s);
	gets(a);
	gets(b);
	//convert
	ss[n++]=s;
	for (i=0;s[i];i++){
		if(s[i]==' '){
			s[i]=0;
			ss[n++]=s+i+1;
		}
	}
	//output
	for(i=0;i<n;i++){
		if(i>0)
			printf(" ");
		if(strcmp(ss[i],a)==0)
			printf("%s",b);
		else
			printf(ss[i]);
	}
	printf("\n");
	return 0;
}
void main()
{
	int i=0,n=0;
	char str[100][100],x[100],y[100],temp1;
	do
	{
	scanf("%s%c",str[i],&temp1);
	i++;
	n++;
	}while(temp1!='\n');
    gets(x);
	gets(y);
	for(i=0;i<n;i++)
	{
		if(strcmp(str[i],x)==0)
			strcpy(str[i],y);
		//printf("%s",str[i]);
	}
	//printf("%s\n%s\n%s\n",x,y,temp2);
	for(i=0;i<n;i++)
		printf("%s%c",str[i],(i==n-1?'\n':' '));
}
int main()
{
	char danchi[1000];
	char e[50][1000],a[1000],b[1000];gets(danchi);
         scanf("%s %s",a,b);
	int i,j,g=0,l=0,v=0,m=0;
	int max=0,min=100,max1,min1;
	
         int c=strlen(danchi);	
	for(j=0;j<50;j++)
	{        
                  l=0;	
		for(i=g;i<1000;i++)
			{				
				if(danchi[i]==' '){m++;break;}
				e[j][l]=danchi[i];
				g++;
				l++;v++;
                                    
			}g++;v++;
		
                if(v>c)break;
	}

for(i=0;i<m;i++){if(strcmp(e[i],a)==0){printf("%s ",b);}else{printf("%s ",e[i]);}}
if(strcmp(e[m],a)==0){printf("%s",b);}else{printf("%s",e[m]);}

	return 0;
}
int main()
{
    char str[101], aim[101], change[101];
    
    gets(str);
    gets(aim);
    gets(change);
    
    int i;
    int count;
    char tword[101];
    count = 0;
    tword[count]='\0';
    for(i=0;i<strlen(str);i++)
    {
                              if(str[i]!=' '&&str[i]!=',')//???????????????????????? 
                              {
                                                tword[count] = str[i];
                                                count++;
                                                }
                              else
                              {
                                  tword[count]='\0';
                                  if(strcmp(tword, aim) == 0)
                                  {
                                                   printf("%s ", change);
                                                   }
                                  else
                                      printf("%s ", tword);
                                  count = 0;
                                  tword[count]='\0';
                                  }
                              }
    tword[count]='\0';
    if(strcmp(tword, aim) == 0)
    {
                     printf("%s", change);
                     }
    else
        printf("%s", tword);
    return 0;
}
void main()
{char *a,*b,*s,*p,*t;
s=(char *)malloc(100*sizeof(char));
a=(char *)malloc(100*sizeof(char));
b=(char *)malloc(100*sizeof(char));
gets(s);
gets(a);
gets(b);
for(;;s++)
{p=a;
 t=s;
while(*s==*p&&*s!=' '&&*s!='\0')
{p++;
s++;}
if(*s==' '&&*p=='\0')
{printf("%s",b);
printf(" ");
continue;
}
else if(*s=='\0'&&*p=='\0')
{printf("%s",b);
break;
}
while(*s!=' '&&*s!='\0')
s++;
if(*s==' ')
{for(;*t!=' ';t++)
printf("%c",*t);
printf(" ");
}
if(*s=='\0')
{for(;*t!='\0';t++)
printf("%c",*t);
break;
}
}


}
void main()
{
	char s[1000],a[100],b[100],out[1000];
	void insertb(char *s,char *a,char *b,char *out);
	gets(s);
	gets(a);
	gets(b);
	insertb(s,a,b,out);
}
void insertb(char *s,char *a,char *b,char *out)
{
	char *p1,*p2,*p3,*p4;
	for (p1=s,p2=a;p1<s+strlen(s);)
	{
		if((*p1==*p2&&p1==s)||(*p1==*p2&&*(p1-1)==32))
		{
			for(p2=a;p2<a+strlen(a);p2++)
			{
				if(*p1==*p2) p1++;
				else break;
			}
			if(p2==a+strlen(a))
			{
				p4=out;
				for(p3=s;p3<p1-strlen(a);p4++,p3++)
					*p4=*p3;
				for(p3=b;p3<b+strlen(b);p4++,p3++)
					*p4=*p3;
				for(p3=p1;p3<s+strlen(s);p3++,p4++)
					*p4=*p3;
                *p4='\0';
				break;
			}
			else p2=a;
		}
		else p1++;
	}
	if(p2==a+strlen(a)) insertb(out,a,b,s);
	else puts(s);
}
void main()
{
	char str[100]={""},sr[100]={""};
	char wrd[100]={""};
	char wod[100]={""};
	char wd[100]={""};
	int i,j=0,k,n,m;
	gets(str);
	gets(wrd);
	gets(wod);
	n=strlen(str);
	for(i=0;i<=n;i++)
	{
		if((str[i]!=' ')&&(str[i]!='\0'))
		{
			wd[j]=str[i];
			j=j+1;
		}
		else 
		{
			j=0;
			m=strlen(wd);
			if(strcmp(wd,wrd)==0)
			{
                for(k=i-m;k<i;k++)str[k]='\0';
				for(k=i;k<n;k++)
				{
					sr[k-i]=str[k];
					str[k]='\0';
				}
				strcat(str,wod);
				strcat(str,sr);
				n=strlen(str);
				for(k=0;k<(n-i);k++)sr[k]='\0';
				for(k=0;k<m;k++)wd[k]='\0';
			}
			else for(k=0;k<m;k++)wd[k]='\0';
		}
	}
	puts(str);
}
int main()
{
  char s[100],a[100],b[100];
  gets(s);
  gets(a);
  gets(b);
  char x[100][100];
  int i,t=1,j=1,y,z,q,p,m;
  for(q=0;q<=99;q++)
  {
    for(p=0;p<=99;p++)
       {
          x[q][p]='\0';
     }
   }
  for(i=0;i<=99;i++)
  {
     if(s[i]==' ')break;
     else
     x[0][i]=s[i];
  }
   do
    {
       if(s[t]==' ')
        {
           z=t;
          for(y=0;y<=99;y++)
            {
               z++;
                if(s[z]!=' '&&s[z]!='\0')
                x[j][y]=s[z];
               else
                break; 
            }
             j++;
         }
        t++;
     }
   while(t<=99);
   for(i=0;i<=99;i++)
    {
      if(strcmp(x[i],a)==0)
      strcpy(x[i],b);
    }
     for(m=0;m<=99;m++)
       {
          if(x[m][0]=='\0')break;
     }
  for(i=0;i<=m-1;i++)
    {
       if(i==0)
       printf("%s",x[i]);
       else
       printf(" %s",x[i]);
    }
return 0;
}
int main()
{
	int i=0,j,count=-1,pos[51],k=0;
	char a[51][101],b[101],c[101],d;
	while (1)
	{
		cin>>a[i];
		i++;
		if (d=cin.get(),d=='\n')  break;
	}
	i--;
    cin>>b>>c;

	for (j=0;j<=i;j++)
	{
		if (strcmp(a[j],b)==0)
		{
			count++;
			pos[count]=j;
		}
	}

		for (j=0;j<=i;j++)
		{
			if ((k<=count)&&(pos[k]==j))
			{
				if (j==i)  cout<<c;
				else  cout<<c<<" ";
				k++;
			}
			else
			{
				if (j==i)  cout<<a[j];
				else  cout<<a[j]<<" ";
			}
		}

	return 0;
}
void main()
{
	char str[100],a[100],b[100];
	int i=0,j=0,k=0,m=0,n=0;
	gets(str);
	gets(a);
	gets(b);
	n=strlen(str);	
	char words[100][100]={0};
	for(k=0;k<n;k++)
	{
		if(str[k]!=32)
		{
			words[i][j]=str[k];
			j++;
		}
		else if(str[k]==32)
		{
			i++;
			j=0;
		}
	}
	m=i+1;
	for(i=0;i<m;i++)
	{
		if(strcmp(words[i],a)==0)
			strcpy(words[i],b);
		else continue;
	}
	for(i=0;i<m-1;i++)
		printf("%s ",words[i]);
	printf("%s\n",words[m-1]);
}
void main()
{
	char s1[100],s2[100],s3[100],s[100];
	int a,b,c,i,n,j,k,q=1;
	gets(s1);
	gets(s2);
	gets(s3);
	a=strlen(s1);
	b=strlen(s2);
	c=strlen(s3);
	strcpy(s,s1);
	for(i=0;i<a;i++)
	{	

		for(j=0;j<b;j++)
		{
			if(s[i+j]!=s2[j])
			break;
		}
		if((j==b)&&((s[i-1]==' ')||(i==0)))
		{
			
			for(k=i;k<i+c;k++)
				s[k]=s3[k-i];
			for(k=i+c;k+(b-c)*q<a;k++)
				s[k]=s1[k+(b-c)*q];
			s[a+(c-b)*q]=0;
			
			q++;
		}
	}
	puts(s);
}
int main()
{
	char word_in[200],word_tr[200],word_out[200],word_fil[200];
	for(int i=0;i<200;i++)
	{
		word_in[i]=0;
		word_tr[i]=0;
		word_out[i]=0;
		word_fil[i]=0;
	}
	int lg1,lg2,lg3,lg4,sum=0,t=0;
	cin.getline(word_in,200);
	lg1=strlen(word_in);
	word_in[lg1]=' ';
	cin.getline(word_tr,200);
	lg2=strlen(word_tr);
	cin.getline(word_out,200);
	lg3=strlen(word_out);
	for(int i=0;i<200;i++)
	{
		sum=0;
		for(int j=0;j<lg2;j++)
		{
			if (word_in[i+j]==word_tr[j])
			{
				sum=sum+1;
			}
		}
		if ((word_in[i-1]==' '||i==0)&&word_in[i+lg2]==' '&&sum==lg2)
		{
			if (lg3==lg2)
			{
				for(int j=0;j<lg3;j++)
			    {
					word_in[i+j]=word_out[j];
			    }
			    i=i+lg2;
			}
			if (lg3<lg2)
			{
				for(int j=0;j<lg3;j++)
			    {
					word_in[i+j]=word_out[j];
			    }
				for(int j=lg3;j<lg2;j++)
				{
					word_in[i+j]=' ';
				}
				i=i+lg2;
			}
			if (lg3>lg2)
			{
				for (int j=199;j>=i+lg2;j--)
				{
					word_in[j+lg3-lg2]=word_in[j];
				}
				for(int j=0;j<lg3;j++)
			    {
					word_in[i+j]=word_out[j];
			    }
			    i=i+lg3;
			}
		}
	}
	for(int i=0;i<200;i++)
	{
		if (word_in[i]!=' ')
		{
			word_fil[t]=word_in[i];
			t++;
		}
		if (word_in[i]==' ')
		{
			if (word_in[i+1]!=' ')
			{
				word_fil[t]=word_in[i];
				t++;
			}
		}
	}
	lg4=strlen(word_fil);
	for(int i=0;i<lg4-1;i++)
	{
		cout<<word_fil[i];
	}
	cout<<endl;
	return 0;
}