semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	int i=0,j,k,y,x=0,q=0;
	char a[257],b[257],c[257];
	gets(a);
	gets(b);
	gets(c);
		for(j=0;j<strlen(a);j++)
		{
			if(b[i]==a[j])
			{
				for(k=0;k<strlen(b);k++)
				{
					if(b[i+k]==a[j+k])
					{
						x++;
					}
					if(x==strlen(b))
					{
						for(y=0;y<j;y++)
						{
							printf("%c",a[y]);
						}
						for(y=0;y<strlen(c);y++)
						{
							printf("%c",c[y]);
						}
						for(y=j+strlen(b);y<strlen(a);y++)
						{
							printf("%c",a[y]);
						}
						q++;
						break;
					}
				}
			}
			if(q==1)
			{
				break;
			}
			if(j==strlen(a)-1)
			{
				printf("%s",a);
			break;
			}
		}
		return 0;
}
int main()
{
	char str[256];
	char sub[256];
	char rep[256];
	scanf("%s%s%s",str,sub,rep);
	char zfc[2][256]={0};
         int a=strlen(str);
	int b=strlen(sub);
         int i;
         for(i=0;i<=(a-b);i++){
		int j;
		for(j=i;j<i+b;j++){
			if(str[j]!=sub[j-i]){
				break;
		         }
		}
		if(j==i+b){
			for(int m=0;m<i;m++){
				zfc[0][m]=str[m];
			}
			for(int n=i+b;n<a;n++){
				zfc[1][n-i-b]=str[n];
			}
			strcat(zfc[0],rep);
			strcat(zfc[0],zfc[1]);
			printf("%s\n",zfc[0]);
			break;
		}
	}
         if(i==(a-b+1)){
              printf("%s\n",str);
         }
	return 0;
}
char s[100],a[100],b[100],c[100],d[100];
int main()
{
	gets(s);
	scanf("%s",a);
	scanf("%s",b);
	int i,p,ch=0;
	int k;
	for(k=0;s[k]!='\0';k++)
	{
		i=0;                       
		for(p=k;a[p-k]!='\0';p++)
		{
			c[i]=s[p];
			i++;
		}
		if(strcmp(a,c)==0)
		{
				ch=1;
				break;
				
		
		}
	}
	if(ch==0)
	{
		printf("%s",s);
	}
	else
	{
		int A;
		
			for(A=0;A<k;A++)
			{
				d[A]=s[A];
			}
				strcat(d,b);
			for(A=k+strlen(a);s[A]!='\0';A++)
			{
				d[A-strlen(a)+strlen(b)]=s[A];
			}
		
	//	printf("%s\n",a);
	//	printf("%s\n",b);
	//	printf("%s\n",c);
		printf("%s\n",d);
	}

	return 0;
}
int main(){
	int i,j,t=0;
	char str[260],sub[20],rep[20];
	scanf("%s%s%s",str,sub,rep);
	for(i=0;i<strlen(str);i++){
		if(str[i]==sub[0]){
			for(j=i+1;j<i+strlen(sub);j++){
				if(str[j]!=sub[j-i]){
					t=1;
				}
			}
			if(t==0){
				for(int k=i;k<i+strlen(sub);k++){
					str[k]=rep[k-i];
				}
				break;
			}
		}
		
	t=0;
	}
	printf("%s",str);
	return 0;
}
int main()
{
 char s1[257*2],a[257],b[257];
 scanf("%s",s1);
 scanf("%s",a);
 scanf("%s",b);
 int i,j,k,st,end;
 st=0;
 end=0;
 for(i=0;s1[i]!=0;i++)
 {
  if(s1[i]==a[0])
  {
   for(k=i+1,j=1;s1[k]!=0&&a[j]!=0;k++,j++)
   {
    if(s1[k]!=a[j])
     break;
   }
   if(a[j]==0)
   {
	   st=i;
	   end=k;
	   break;
   }
  }
 }
 if(st<end)
 {
	 if(strlen(a)>strlen(b))
	 {
		 for(i=st,j=0;b[j]!=0;i++,j++)
		 {
			 s1[i]=b[j];
		 }
		 for(k=end;s1[k]!=0;k++,i++)
		 {
			 s1[i]=s1[k];
		 }
		 s1[i]=0;
	 }
	 else
	 {
		 i=strlen(s1)+strlen(b)-strlen(a);
		 for(k=strlen(s1);k>=end;k--,i--)
		 {
			 s1[i]=s1[k];
		 }
		 for(i=st,j=0;b[j]!=0;i++,j++)
		 {
			 s1[i]=b[j];
		 }
	 }
 }
 printf("%s",s1);
 return 0;
}
main()
{
int i,j=0,count=0,h;
char a[260],b[260],c[260];
scanf("%s",&a);
scanf("%s",&b);
scanf("%s",&c);

for(i=0;i<=strlen(a)-1;i++)
{
    if(a[i]==b[j])
    {
    count+=1;
    j+=1;
    }
    else
    {j=0;count=0;}
    if(count==strlen(b))
    {h=i;break;}
}
if(count==strlen(b))
{
for(i=0;i<=h-strlen(b);i++)
{
printf("%c",a[i]);
}
for(i=0;i<=strlen(c)-1;i++)
{
printf("%c",c[i]);
}
for(i=h+1;i<=strlen(a)-1;i++)
{
printf("%c",a[i]);
}
}
else
{printf("%s",a);}
}
int main()
{
  char a[256],b[256],c[256],d[256],e[256];
  int i,j,p;
  gets(a);
  gets(b);
  gets(c);
  for(i=0;i<=strlen(a)-strlen(b);i++)
  {
     p=0;
     
     for(j=i;j<i+strlen(b);j++)
       if(b[j-i]==a[j])
        p++;
        
     if(p==strlen(b))
     {
       d[i]='\0';
       break;
     }
     d[i]=a[i];                       
  }
  if(i==strlen(a)-strlen(b)+1)
  puts(a);
  else
  {
  strcat(d,c);

  for(j=i+strlen(b);j<strlen(a);j++)
  e[j-i-strlen(b)]=a[j];
  e[j-i-strlen(b)]='\0';
  strcat(d,e);
  printf("%s",d);
}
    return 0;    
}
int main()
{
	char str[256],a[256],b[256],c[256];
	int i,j,t=0;
	scanf("%s %s %s",str,a,b);
	for(i=0;i<strlen(str);i++)
	{
		for(j=0;j<strlen(a);j++)
			c[j]=str[i+j];
		c[j]='\0';
	    if(strcmp(c,a)==0)
		{
			t=1;
		   break;
		}
	}
	if(t==1)
	{
	for(j=0;j<i;j++)
		printf("%c",str[j]);
	for(j=0;j<strlen(b);j++)
		printf("%c",b[j]);
	for(j=i+strlen(a);str[j]!=0;j++)
		printf("%c",str[j]);
	}
	else
		printf("%s",str);

	return 0;
}
//********************************
//*???????   **
//*?????? 1200012837 **
//*???2012.12.25  **
//********************************

int main()
{
	char str[270], subs[70], rep[70], *p;
	cin >> str >> subs >> rep;
	p = strstr(str,subs);//???????
	if(p != NULL)
		for(int i = 0;rep[i] != '\0'; i++)
			*p++ = rep[i];
	cout << str << endl;
	return 0;
}
int main()

{

  char string[256],sub[256],re[256];

  int i,j;

  gets(string);

  gets(sub);

  gets(re);

  int len1=strlen(string),len2=strlen(sub),len3=strlen(re);

  for(i=0;i<=len1-len2;i++)

  {

    for(j=0;j<len2;j++)

    {

      if(sub[j]!=string[i+j])  break;

    }

    if(j!=len2)  continue;

    if(j==len2)

    {

      for(j=0;j<len2;j++)  string[i+j]=re[j];

      break;

    }

  }

  puts(string);

  return 0;

}
char a[1000],b[1000],c[1000];
int main()
{
	cin>>a;
	cin>>b;
	cin>>c;
	int len1,len2,p=0,i,j;
	len1=strlen(a);
	len2=strlen(b);
	for(i=0;i<len1-len2+1;i++)
	{
		if(a[i]==b[0])
		{
			p=1;
			for(j=i;j<len2+i;j++)
			{
				if(a[j]!=b[j-i])
				{
					p=0;break;
				}
			}
			if(p==1)
			{
				for(j=i;j<len2+i;j++)
				{
					a[j]=c[j-i];
				}
				break;
			}
		}
	}
	cout<<a<<endl;
	return 0;


	}
int main()
{
    char s[256], sub[256], rep[256];
    int i, j, k;
    int lens, lensub;

    gets(s), gets(sub), gets(rep);
    lens = strlen(s);
    lensub = strlen(sub);

    for (i=0; i<=lens-lensub; i++) {
        for (j=0; j<lensub; j++)
            if (s[i+j] != sub[j])
                break;
        if (j == lensub) {
            for (k=0; k<j; k++)
                s[i+k] = '@';
            i += j-1;
            break; // ??????????????????????
        }
    }

    for (i=0; i<lens; i++)
        if (s[i] == '@') {
            while (s[i] == '@') i++;
            i--; 
            printf("%s", rep);
        } else {
            printf("%c", s[i]);
        }

    return 0;
}
int main()
{
    char s[256],sub[256],rep[256];
    int t,i,j,k;
    gets(s);
    gets(sub);
    gets(rep);
    for (i=0;s[i]!='\0';i++)
    {
        t=0;
        if (s[i]==sub[0])
        {
           for (j=i,k=0;sub[k]!='\0';j++,k++)
           {
               if (s[j]!=sub[k]) 
               {
                  t=1;break;
                  }
                  }
           if (t==0)
           {
             for (j=i;rep[j-i]!='\0';j++) s[j]=rep[j-i];
             break;
             }
             }
             }
    printf("%s",s);
}
int main(){
	char s[256],sub[256],re[256];
	int t,i,k;
	scanf("%s\n%s\n%s",s,sub,re);
	t=strlen(sub);
	for(i=0;i<strlen(s)-t+1;i++){
		int x=0;
		for(k=i;k<i+t;k++){
			if(s[k]!=sub[k-i]){
				x+=1;
			}
		}
		if(x==0){
			for(k=i;k<i+t;k++){
				s[k]=re[k-i];
			}
		    break;
		}
	}
	printf("%s",s);
	return 0;
}
main()
{char a[256];
 char b[256],c[256];
 scanf("%s",a);
 scanf("%s",b);
 scanf("%s",c);
 int sum1=strlen(b);
 int i,j,k,m,n,p,q,start,pd=0;
  for(start=0;start<strlen(a);start++)
      {
       k=0;
       for(i=start;i<start+sum1;i++)
        {
         if(a[i]!=b[k]) break;
         k++;
        } 
       if(i==(start+sum1)) {pd=1;p=start;break;}
      }
 
  if(pd==1) 
    {for(q=p,k=0;c[k]!='\0';q++,k++)
      a[q]=c[k];
    }
 printf("%s",a);

}
//#include<stdlib.h>
//#include<math.h>
int main()
{
	char s1[257],s2[257],s3[257];
	char* p;
	gets(s1);
	gets(s2);
	gets(s3);
	p=strstr(s1,s2);
	if(p) {
		int i=p-s1;
		s1[i]='\0';
		printf("%s",s1);
		printf(s3);
		printf("%s\n",p+strlen(s2));
	}
	else {
		puts(s1);
	}
	
	return 0;
}
int main()
{
	char zfc[300],sub[300],rep[300],m,k,n;
  int i,j;
  gets(zfc);
  gets(sub);
  gets(rep);
  for(i=0;i<=strlen(zfc)-strlen(sub);i++)
  {m=0;
	  for(j=0;j<strlen(sub);j++)
	  {
		  if(sub[j]!=zfc[i+j])
		  {  m=-1;
		  break;}
		  else
			  m=1;
	  }
	  if(m==1)
	  {
		  n=i;
		  break;
	  }
  }
if(m==1)
{
	for(k=n;k<n+strlen(sub);k++)
	{
		zfc[k]=rep[k-n];
	}

	printf("%s",zfc);}

else
printf("%s",zfc);
return 0;
}
char substring[256] = {0};
char S[256] = {0};
char replacement[256] = {0};


int main()
{
	
	while (cin >> S)
	{
		cin >> substring;
		cin >> replacement;

		char *p = strstr(S,substring);
		char *q = NULL;

		int i = 0;
	
		if (p != NULL)
		{
			for (q = S; q < p; q++)
			{
				cout << *q;
			}
			cout << replacement;
			for (q = p + strlen(substring); *q != '\0'; q++)
			{
				cout << *q;
			}
		cout << endl;
		memset(S,0,256);
		memset(substring,0,256);
		memset(replacement,0,256);
		}

else if (p == NULL)
{
cout << S << endl;
}
	}

	return 0;
}
int len1,len2,len3;
char replacement[256];
void answer(char str[260],char substr[256]);
int main()
{
	char str[260],substr[256];
	cin.getline(str,260);
	cin.getline(substr,256);
	cin.getline(replacement,256);
	len1 = strlen(str);
	len2 = strlen(substr);
	len3 = strlen(replacement);
	answer(str,substr);
	return 0;
}
void answer(char str[260],char substr[256])
{
	int i,k,count,num = 0;
	for(i = 0; i < len1; i++)
	{
		if(str[i] == substr[0])
		{
			count = 0;
			for(k = i; ; k++)
			{
				if((str[k] == substr[count])&&(str[k] != '\0'))
					count++;
				else
					break;
			}
			if(count == len2)
			{
				num++;
				for(k = 0; k < i; k++)
					cout << str[k];
				for(k = 0; k < len3; k++)
					cout << replacement[k];
				for(k = i + len2; k < len1; k++)
					cout << str[k];
				break;
			}
		}
	}
	if(num == 0)
	{
		for(i = 0; i < len1; i++)
			cout << str[i];
	}
}
main()
{
   char a[256];
   char b[256];
   char c[256];
   scanf("%s",a);
   scanf("%s",b);
   scanf("%s",c);
   int x,y,i,j,p,q,k,r,t,z;
   x=strlen(a);
   y=strlen(b);
   q=0;
   for(i=0;q==0&&i<x;i++)
   {
       if(b[0]==a[i])
       {
           p=i;
           for(j=0;b[j]==a[p]&&b[j]!='\0'&&a[p]!='\0';j++)
           {
               p++;
           }
           if(j==y)
           {
               q=q+1;
           }
       }
   }
   if(q==0)
   {
       for(z=0;z<x;z++)
       {
           printf("%c",a[z]);
       }
   }
   if(q!=0)
   {
       for(k=0;k<i-1;k++)
       {
          printf("%c",a[k]);
       }
       for(r=0;r<y;r++)
       {
          printf("%c",c[r]);
       }
       for(t=i+y-1;t<x;t++)
       {
          printf("%c",a[t]);
       }
   }
}
int main( )
{
  int i,j=0,k,t=0,l,p,h,n,m;
  char str[3][600];
  for (i=0;i<3;i++)
    scanf("%s",str[i]); 
  m=strlen(str[1]);
  n=strlen(str[0]);
  p=strlen(str[2]);
  for (i=0;i<n-m+1,j<m;i++)
   {
     if (str[0][i]==str[1][j])
       {
         t++;
         j++;
       }
     else
       {
         j=0;
         t=0;
       }
     if (t==m)
       break;
   } 
  if (t!=m)
    printf("%s",str[0]); 
  else
    {
      for (l=i-m+1,h=0;h<p;h++,l++)
        str[0][l]=str[2][h];
      printf("%s",str[0]);
    }
  return 0;
}
int main()
{
	char str[256], substr[256], rep[256];
	int i, j, flag = 1, flag1 = 0;
    cin >> str;
	cin >> substr;
	cin >> rep;
	int nlen = strlen(str);
	int slen = strlen(substr);
	int rlen = strlen(rep);
	if (slen != rlen) 
	{cout << "hehe" << endl;}
    for (i = 0; i < nlen; i++)
	{
		for (j = 0; j < slen; j++)
		{
            if (substr[j] != str[i + j])
			{	flag = 0; break;}
			else 
			{
				flag = 1;
			}
		}
		if (flag)
		{
			for (int k = 0; k < slen; k++)
			{
				str[i + k] = rep[k];
			}
			flag1 = 1;
		}
		if (flag1)
		{break;}
	}
	cout << str << '\n';
	return 0;
}
char *str_replace(const char *src, const char *oldstr, const char *newstr);
int main()
{
	int aa=0,i;
	char str1[100],str2[100],str3[100],sub[100]={0},sub1[100]={0},sub2[100]={0};
	gets(str1);
	gets(str2);
	gets(str3);
	if(strlen(str1)<strlen(str2))cout<<str1;
	else
	{
		for(i=0;i<=strlen(str1)-strlen(str2);i++)
		{
			strncpy(sub,str1+i,strlen(str2));
			if(strcmp(sub,str2)==0)
			{	strncpy(sub1,str1,i);
				strncpy(sub2,str1+i+strlen(str2),strlen(str1)-i-strlen(str2));
				strcat(sub1,str3);
				strcat(sub1,sub2);
				cout<<sub1;aa=1;break;
			}
		}if(aa==0)cout<<str1;
	}
	
	return 0;
}
char *str_replace(const char *src, const char *oldstr, const char *newstr)
{

    if(NULL == src || NULL == oldstr || NULL == newstr)

    {

            return NULL;

    }

    

    //????????????

    char *dest=strdup(src);

    //???????????

    if(strcmp(oldstr, newstr)==0)

    {

            return dest;

    }

    

    //??????

    char *needle;

    //?????

    char *tmp,*dest_tmp=dest;





    //??????, ????????len??????, ?????, ??????

    while(needle = strstr(dest, oldstr))

    {

    

        //??????: +1 ????????'\0'???

        tmp=(char*)malloc(strlen(dest)+strlen(newstr)-strlen(oldstr)+1);



        //?src???needle-dest????????????arr

        strncpy(tmp,dest,needle-dest);



        //?????

        tmp[needle-dest]='\0';



        //??arr?newstr, ??newstr??arr??, ??????(??????)arr

        strcat(tmp, newstr);



        //?src? ?oldstr?????????arr??????????arr

        strcat(tmp, needle+strlen(oldstr));



        //??malloc???????????retv

        dest = strdup(tmp);

        

        free(dest_tmp);

        //??malloc???????

        free(tmp);

        dest_tmp = dest;

    }

    return dest;

}
int main()
{
	int i,j,x,y,z,m,t=1,n;
	char a[300],b[300],c[300];
	scanf("%s%s%s",a,b,c);
    x=strlen(a);
	y=strlen(b); 
	z=strlen(c);
	for(i=0;i<x;i++)
	{
		for(j=0;j<y;j++)
		{
			if(a[i+j]!=b[j])
			{
				break;
			}
			else
			{
				if(j==y-1)
				{
					for(m=0;m<z;m++)
					printf("%c",c[m]);
					i=i+y-1;
					t=0;
				}
			}
		}
		if(j<y-1)
		{
             printf("%c",a[i]);
		}
		if(t==0)
			break;

	}for(n=i+1;n<x;n++)
	printf("%c",a[n]);
	return 0;
}
int main(){
   char string[257],substring[257],replacement[257];
   gets(string);
   gets(substring);
   gets(replacement);
   int i,len1,len2,j,k,a=0;
   len1=strlen(string);
   len2=strlen(substring);
   for(i=0;i<len1;i++){
		if(string[i]==substring[0]){
			for(j=1;j<len2;j++){
				if(substring[j]==string[j+i])
					a+=1;
			    else
			        break;
			}
			if(a==len2-1){
				for(k=0;k<len2;k++)
					string[k+i]=replacement[k];
				break;
			}
		}
	}
	puts(string);
					
					
    
				return 0;
	
}
int main() 
{ 
  char str[256]; 
  char sub[256]; 
  char rep[256]; 
  gets(str);
  gets(sub);
  gets(rep);
  char* p=strstr(str,sub); 
  if( p== NULL )
  { 
    printf("%s\n",str); 
  } 
  else 
  { 
    int len = strlen(rep); 
    int i; 
    for (i=0;i<len;i++) 
    {       *p = rep[i]; 
      p++; 
    }
    printf("%s\n",str); 
  } 
  return 0; 
}
main()
{
    int i,j,x,y,z;
    char a[256],b[50],c[50];
    gets(a);
    gets(b);
    gets(c);
    x=strlen(a);
    y=strlen(b);
    z=strlen(c);
    for(i=0;i<=x-y;i++)
    {
        for(j=i;j<i+y;j++)
        {                 
        if(a[j]!=b[j-i])
        break;
        } 
        if(j==i+y)
        {for(j=0;j<i;j++)
        {printf("%c",a[j]);}
        for(j=0;j<z;j++)
        {printf("%c",c[j]);}
        for(j=i+y;j<x;j++)
        {printf("%c",a[j]);}
        break;}      
    }
    if(i==x-y+1)
      { puts(a);}    
    getchar();getchar();getchar();getchar();getchar();    
}
int main()
{
	char a[300],b[50],c[50];
	int n,i,j,m,k,s=0,d,e;
	scanf("%s\n%s\n%s",a,b,c);
	n=strlen(b);
	m=strlen(a);
	for(i=0;i<m;i++){
		s=0;
		for(j=i,k=0;k<n;j++,k++){
			
			if(a[j]!=b[k]){
				 s=1; 
				 break;
			}
		} 
		if(s==0) break;}
		
		if(s==0){ 
			for(d=i,e=0;d<i+n;d++,e++){
	            a[d]=c[e];}}
			printf("%s",a);
			
		
		
	
    return 0;
}
int main()
{
	char s[100],yuan[100],xin[100];
	int i=0,j=0,len,lenyuan,lenxin;
	gets(s);
	gets(yuan);
	gets(xin);
	len=strlen(s);
	lenyuan=strlen(yuan);
	lenxin=strlen(xin);
	for(i=0;i<len;i++)
	{
		if(s[i]==yuan[0] && s[lenyuan+i-1]==yuan[lenyuan-1])
		{
			for(j=0;j<lenxin;j++)
			{
		    	s[i+j]=xin[j];
			}
			break;
		}
	}
	printf("%s\n",s);
	

	return 0;
}
int main(){
char str[100],sub[100],rep[100];
int i,j,m,len,lens;
scanf("%s\n%s\n%s",str,sub,rep);
len=strlen(str);
lens=strlen(sub);

for(i=0;i<len;i++){
if(str[i]==sub[0]&&str[i+1]==sub[1]&&str[i+lens-1]==sub[lens-1]){
j=i;m=0;
while(m<lens){
str[j]=rep[m];
j++;m++;}
break;}}
for(i=0;i<len;i++){
printf("%c",str[i]);}
return 0;}
int main()
{
	char s1[100],s2[100],s3[100];
	int i,j,k,n,m,f,q;
	scanf ("%s",s1);
	scanf ("%s",s2);
	scanf ("%s",s3);
	m=strlen(s2);
	n=strlen(s1);
	for (i=0;i<strlen(s1);i++)
	{
		f=0;
		for (j=0;j<strlen(s2);j++)
			if(s2[j]!=s1[i+j])
			{
				f=1;
				break;
			}
		if(f==0)
			{
				q=i;
				break;
			}
	}
   if (f==1)
       printf("%s\n",s1);
   else 
   {
       for (k=0;k<q;k++)
           printf("%c",s1[k]);
       printf("%s",s3);
       for (k=q+m;k<n;k++)
       printf("%c",s1[k]);
       printf("\n");
	}

   return 0;
}
int main()
{
    char b[256],a[256],c[256];
    int m,n,i,j,d;
    scanf("%s",a);
    scanf("%s",b);
    scanf("%s",c);
    m=strlen(a);
    n=strlen(b);
    for(i=0;i<m;i++)
    {
                    d=1;
                    for(j=0;j<n;j++)
                    {
                                    if(b[j]!=a[j+i])
                                    d=0;
                                    }
                    if(d==1)
                  {  for(j=0;j<n;j++)
                    {a[i+j]=c[j];
                                    }
                                    break;}
                    
                    }
                  
   printf("%s",a);
    
                      getchar(); getchar(); getchar(); getchar(); getchar(); getchar(); getchar();
                          getchar(); getchar(); getchar(); getchar(); getchar(); getchar(); getchar();
                              getchar(); getchar(); getchar(); getchar(); getchar(); getchar(); getchar();
}
int main(int argc, char *argv[])
{
    char  s[260],sub[260],re[260];
    int i, len1, len2, m, xxx,yyy=0;
    gets(s);
    gets(sub);
    gets(re);
    len1=strlen(s);
    len2=strlen(sub);
    
     for(i=0;i<len1-len2+1;i++){
                                xxx=0;                
                                for(m=0;m<len2;m++){
                                                     if(s[i+m]==sub[m]){
                                                                          xxx++;
                                                                          }
                                                    }
                                if(xxx==len2){
                                            for(m=0;m<len2;m++){
                                                                s[i+m]=re[m];
                                                                yyy++;
                                                                if(yyy==len2) break;
                                                                }
                                if(yyy==len2)  break;
                                                                }
                                                                }
     
  
     printf("%s",s);
     
    return 0;
}
void main()
{
	char a[300],b[100],e[100],c[100]={0},g[100]={0},s[300]={0};
	int j,i,k,f,l,d,h=1;
	gets(a);
	gets(b);
	gets(e);

	k=strlen(a);
	d=strlen(b);

	for(i=0;i<k&&h<2;i++)
	{
		if(a[i]==b[0])
		{
			j=i;
			strncpy(g,a,j);
		for(f=0;f<d;f++,j++)
		{
			c[f]=a[j];
		}
		    j=i;
		for(f=0,l=j+d;f<k-j-d && a[l] ;f++,l++)
		{	
			s[f]=a[l];
		}
		s[k-d-j] = 0;
		if(strcmp(b,c)==0)
		{
			h=h+1;
			printf("%s",g);
		    printf("%s",e);
	    	printf("%s",s);
		}
		}
	}
	if(h==1)
		printf("%s",a);
}
int main()
{
	int n,i,j,k,m=0;
	char a[256],b[256],c[256];

	gets(a);
	gets(b);
	gets(c);

	n=strlen(a);
	k=strlen(b);

	i=strstr(a,b)-a;

	if(i>=0&&i<=n-k)
	{
		for(j=0;j<i;j++)
		{
			printf("%c",a[j]);
		}
		for(j=0;j<k;j++)
		{
			printf("%c",c[j]);
		}
		for(j=i+k;j<n;j++)
		{
			printf("%c",a[j]);
		}
	}
	else
	{
		for(i=0;i<n;i++)
		{
			printf("%c",a[i]);
		}
	}
	printf("\n");
	return 0;
}
int main(int argc, char* argv[])
{
	char a[257],b[257],r[257];
    scanf("%s",b);
	scanf("%s",a);
	scanf("%s",r);
	int c,d,count,e;
	int j,h,y;
	c=strlen(a);
	d=strlen(b);
	e=strlen(r);


	for(j=0;j<d;j++)
	{
	   y=0;
		h=j;
		if(b[j]!=a[0])  continue;
		else 
		{	count=1;
			for(int t=1;t<c;t++)
			{   
			
				if(a[t]==b[j+t]) count++;
				
			}
		}
		if(count==c) {
			y=1;
			break;
		}
		if(y==1) break;
	
	}
	if(y==1){
			
	for(j=0;j<h;j++)
	printf("%c",b[j]);
	for(j=0;j<e;j++)
	printf("%c",r[j]);
	for(j=h+c;j<d;j++)
	printf("%c",b[j]);
	}
	else printf("%s",b);

	
	return 0;
}
int main(){
	char an[270],bn[270],cn[270],temp[270];
	scanf("%s%s%s",an,bn,cn);
	char *p=strstr(an,bn);
	int len=strlen(bn);
	if(p!=NULL){
		strcpy(temp,p+len);
		*p='\0';
		strcat(an,cn);
		strcat(an,temp);
	}
	printf("%s",an);
	return 0;
}
int main()
{
	char zfc[257],a[50],b[50];
	int i,j,k;
	scanf("%s%s%s",zfc,a,b);
	for(i=0;i<strlen(zfc);i++)
	{
		if(a[0]==zfc[i])
		{
			for(j=1;j<strlen(a);j++)
			{
				if(a[j]!=zfc[i+j])
					break;
			}
			if(j==strlen(a))
				break;
		}
	}
	if(j==strlen(a))
	{
	   for(k=0;k<i;k++)
		   printf("%c",zfc[k]);
	   for(k=i;k<i+strlen(b);k++)
		   printf("%c",b[k-i]);
	   for(k=i+strlen(b);k<strlen(zfc);k++)
		   printf("%c",zfc[k]);
	   }
	else
		printf("%s",zfc);
	return 0;
}
int main ()
{
	int i,j,m,n,f,l,k;
	char s1[260],s2[260],s3[260];
	gets(s1);
	gets(s2);
	gets(s3);
	m=strlen(s1);
	n=strlen(s2);
	l=strlen(s3);
	for (i=0;i<m;i++)
	{
		f=1;
		for (j=0;j<n;j++)
			if(s1[i+j]!=s2[j])
			{
				f=0;
				break;
			}
		if(f==1)
			{
				k=i;
				break;
			}
	}
	if(f==0)
		puts(s1);
	else
	{
		for(i=0;i<k;i++)
			printf("%c",s1[i]);
		for(i=0;i<l;i++)
			printf("%c",s3[i]);
		for(i=k+l;i<m;i++)
			printf("%c",s1[i]);
	}
	return 0;
}
int main()
{	
	int func(char c);
	int i,j,a,m,num;
	char s1[300],s2[300],s3[300];
	scanf("%s %s %s",s1,s2,s3);
	m=strlen(s1);
	a=strlen(s2);
	for(i=0;i<m;i++)
	{
		for(j=0;j<a;j++)
		{
			if(s2[j]!=s1[i+j])
			break;
		}
		if(j==a)
		{
			for(j=0;j<a;j++)
		        s1[i+j]=0;
		           break;
		}
	
	}	if(j!=a)
		{
			printf("%s\n",s1);
		    return 0;
		}
	for(i=0;i<m;i++)
	{
		if(s1[i]!=0)
			printf("%c",s1[i]);
		if(s1[i]==0)
		{
			num=i;
			printf("%s",s3);
			break;
		}
	}
	for(j=num+a;func(s1[j]);j++)
		printf("%c",s1[j]);
	printf("\n");
		return 0;
}
int func(char c)
{
	if(c=='\0')
		return 0;
	else return 1;
}
int main()
{
	char a[256], b[256], c[256];
	int i;
	char *p;
	cin >> a >> b >> c;
	p = strstr(a, b);
	if(p != NULL)
	{
		for(i = 0;i < p - a;i++)
			cout << a[i];
		cout << c;
		for(p = p + strlen(b);p < a + strlen(a);p++)
			cout << *p;
	}
	else
		cout << a;
	cout << endl;
	return 0;
}
int main(int argc, char* argv[])
{
	int len1,len2,i,j,x,tag=0;
	char s1[300],s2[300],s3[300];
	scanf("%s",s1);
	scanf("%s",s2);
	scanf("%s",s3);
	len1=strlen(s1);
	len2=strlen(s2);
	for(i=0;i<=len1-len2;i++){
		for(j=i;j<i+len2;j++){
			if(s1[j]!=s2[j-i]){
				break;
			}
			if(j==i+len2-1){
				tag=1;
				x=i;
			}
		}
		if(tag){
			break;
		}
	}
	if(tag){
		for(i=0;i<x;i++){
			printf("%c",s1[i]);
		}
		printf("%s",s3);
		for(i=x+len2;i<len1;i++){
			printf("%c",s1[i]);
		}
	}
	else{
		printf("%s",s1);
	}
	return 0;
}
main()
{
  int i,j=0,t,s,n=0,k,l;
  char c1[256],c2[256],c3[256];
  gets(c1);
  gets(c2);
  gets(c3);
  s=strlen(c2);    
  for(i=0;c1[i]!='\0';i++)
  {
    if(c1[i]==c2[j])
    {
     n++;
     j++;                
    }
    else{j=0;n=0;}
    if(n==s){t=i;break;}
    //printf("%d",i);                        
  }    
  //printf("%d",n);
  if(n==s)
 { for(l=0,k=t-s+1;k<=t,l<s;l++,k++)
  {
    c1[k]=c3[l];                                 
  } }
  
 printf("%s",c1);    
getchar();
getchar();
 getchar();     
}