semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
main()
{
      char a[256],b[256],c[256];
      scanf("%s %s %s",a,b,c);
      int i,j,k,nb,nc,count;
      nb=0;
      nc=0;
      for (i=0;b[i]!='\0';i++)
      {
          nb++;
      }
      for (i=0;c[i]!='\0';i++)
      {
          nc++;
      }
      for (i=0;a[i+1]!='\0';i++)
      {
          if (a[i]==b[0])
          {   
              count=0;
              k=i;
              for (j=0;j<nb;j++)
              {
                  if (a[k+j]==b[j])
                  {
                            count++;
                  }
                  else 
                  {
                       break;
                  }
              }
              if (count==nb)
              {
                   for (j=0;j<nc;j++)
                   {
                      a[k+j]=c[j];
                   }
                   break;
              }
          }
      }
      puts(a);
      getchar();getchar();getchar();getchar();
}
main()
{
      char a[260],b[260],c[260];
      scanf("%s",a);
      scanf("%s",b);
      scanf("%s",c);
      for(int i=0;a[i]!='\0';i++)
      {
              int k=0;
              if(a[i]==b[0])
              {
                          k=1;
                          for(int e=0;b[e]!='\0';e++)
                          {
                                  if(a[i+e]!=b[e])
                                  k=0;
                          }
                          if(k==1)
                          for(int f=0;b[f]!='\0';f++)
                          {
                                  a[i+f]=c[f];
                          }
              }
              if(k==1)
              break;
      }
      puts(a);

}
void main()
{ 
	char s1[256],s2[256],s3[256];
	int n,i,j,length1,length2,k,h;
	k=0;
	scanf("%s",s2);
	scanf("%s",s1);
	scanf("%s",s3);
	length1=strlen(s1);
	length2=strlen(s2);
	for(i=0;i<length2;i++)
	{
		if(s1[0]==s2[i])
		{
			j=0;
			while(s2[j+i]==s1[j]&&j<length1)j++;
			if(j==length1)k=i;
		}
		if(k)break;
	}
	h=k;
         if(k)
	{for(h=k;h<k+length1;h++)
         s2[h]=s3[h-k];}
	printf("%s",s2);
	
}
int main()
{
	char a[256] = {0}, b[256] = {0}, c[256] = {0};
	cin >> a >> b >> c;
	int i, j, m, k = 0, la = strlen(a), lb = strlen(b);
	for (i = 0; i < la; i++)
	{
		if(a[i] == b[0])
		{
			m = i;
			for(j = 1; j < lb; j++)
			{
				m++;
				if (a[m] != b[j])
					break;
			}
			if (j == lb)
			{	
				m = i;
				k = 1;
				break;
			}
		}
	}
	if (k == 0)
		cout << a;
	else
	{
		for (i = 0; i < m; i++)
		cout << a[i];
	cout << c;
	for (i = m + lb; i < la; i++)
		cout << a[i];
	}
	return 0;
}
/*************************************************************************************************************
* @file .cpp
* @author ????
* @date 
* @description
*         
*/

char word[256],substring[256], replacement[256];
int l1, l2, l3;
int the_same(char* ch)
{
	int i;
	for(i = 0; i < l2; i++)
	{
		if(*(ch + i) != substring[i])
			return 0;
	}
	return 1;
}
int main()
{
	char *p = NULL, *q = NULL;
	int i, t;
	cin.getline(word, 256);
	l1 = strlen(word);
	cin.getline(substring, 256);
	l2 = strlen(substring);
	cin.getline(replacement, 256);
	l3 = strlen(replacement);
	for(i = 0; i < l1; i++)
	{
		t = the_same(&word[i]);
		if(t == 1)
		{
			p = word + i;
			break;
		}
	}
	if(p == NULL)
	{
		for(i = 0; i < l1; i++)
			cout << word[i];
	}
	else
	{
		for(q = word; q < p; q ++)
			cout << *q;
		for(i = 0;i < l3; i++)
			cout << replacement[i];
		for(q = p + l2; q < word + l1;q++)
			cout<< *q;
	}
	return 0;
}
int main()
{
 char s[100],a[100],b[100];
 int i,j,l,m,e=0;
 char *str;
 
 memset(s,0,100);
 memset(a,0,100);
 memset(b,0,100);

 gets(s);
 scanf("%s",a);
 scanf("%s",b);

 l=strlen(a);
 m=strlen(s);
 str=s;

 for(i=0;i<=m-l;i++)
 {//???????
  e=0;
  for(j=0;j<l;j++)
  {
       if(s[i+j]!=a[j])
       {
        e++;
        break;
       }
  }
    //e???0,???a??

  if(e==0)
  {
   s[i]='\0';
   printf("%s",str);
   printf("%s",b);
   str=s+i+j;
   break;
  }

 }
 printf("%s",str);
 return 0;
}
char s1[10000],s2[10000],s[10000];
int Len(char *s)
{
	int i;
	for(i=0;s[i];i++);
	return i;
}
int Match(char *s1,char *s2)
{
	int i,l=Len(s2);
	for(i=0;i<l;i++)
		if (s1[i]!=s2[i])
			return 0;
	return 1;
}
int Find(char *s,char *s1)
{
	int i,l=Len(s);
	for(i=0;i<l;i++)
		if (Match(s+i,s1))
			return i;
	return l;
}
int main()
{
	int l,i,t;
	scanf("%s%s%s",s,s1,s2);
	l=Len(s);
	t=Find(s,s1);
	if (t==l)
		printf("%s\n",s);
	else
	{
		for(i=0;i<t;i++)
			printf("%1c",s[i]);
		printf("%s",s2);
		for(i=Len(s1)+t;i<l;i++)
			printf("%1c",s[i]);
		printf("\n");
	}
	return 0;}
int main()
{
    char s[300],b[50],r[50],a[50];
    int i,k,n1,n2,n3,n,result;
    scanf("%s%s%s",s,b,r);
    n1=strlen(s);
    n2=strlen(b);
    n3=strlen(r);
    for(i=0;i<n1-n2+1;i++){
        for(k=0;k<n2;k++){
           a[k]=s[i+k];
        }a[n2]='\0';
        result=strcmp(a,b);
        if(result==0){
           n=i;
           break;
        }else continue;
     }
     for(i=0;i<n1;i++){
         if(i==n){
           printf("%s",r);
		   i=i+n2-1;
         }else{
           printf("%c",s[i]);
         }
      }
      return 0;
}
void main()
{
	char str[260],sbstr[260],rplyc[260],*p1,*p2,*p3;
	int i,j,a,b,m;
	gets(str);
	gets(sbstr);
	gets(rplyc);
	a=strlen(str);
	b=strlen(sbstr);
	
	for(i=0;i<a-b+1;i++)
	{
		m=0;
		p1=str+i;
		p2=sbstr;
		for(j=0;j<b;j++)
		{
			if(*(p1+j)==*(p2+j))
				m++;
		}
	
		if(m==b)
		{
            p1=str+i;
	    	p3=rplyc;
	    	for(j=0;j<b;j++)
				*(p1+j)=*(p3+j);
			break;
		}
	}
	puts(str);
}
int main(){
  int le,len,lenn,i,j,k,a=0,b,m=0;
  char aa[256],bb[256],cc[256];
  scanf("%s%s%s",aa,bb,cc);
  le=strlen(aa);
  len=strlen(bb);
  lenn=strlen(cc);
  for(i=0;i<le;i++)
  {      a=0;
       for(j=i,k=0;j<len+i&&k<len;j++,k++)
	   {
	   if(bb[k]==aa[j])
             a++;  
	   }
	   if(a==len){b=i;m++;break;}
 }

     if(m==0) puts(aa);
     else{ 
      for(i=0;i<b;i++){printf("%c",aa[i]);}
      for(k=0;k<lenn;k++){printf("%c",cc[k]);}
      for(i=b+len;i<le;i++){printf("%c",aa[i]);}
          }
return 0;}
int main()
{
	char s[256],a[101],b[101];
	int i,len,k,j,len1,len2,l,n,p=0;
	gets(s);
	gets(a);
	gets(b);

	len=strlen(s);
	len1=strlen(a);
	len2=strlen(b);
	for(i=0;s[i]!=0;i++)
	{
		if(s[i]==a[0]&&p==0)
		{
			k=0;
			while(s[i+k]==a[k]&&k<len1)
			{
				k++;

			}
			if(k==len1)
			{   
				p=1;
                                     
				len=strlen(s);
				len1=strlen(a);
				len2=strlen(b);
				if(len1==len2)
				{
					for(j=0;j<k;j++)
					{
						s[i+j]=b[j];
					}
				}
				if(len1>len2)
				{
					for(j=0;j<len1;j++)
					{
							s[i+j]=b[j];
					}
					for(j=len2,l=k;(l+i)<=len;j++,l++)
					{
						s[i+j]=s[i+l];
					}
				}
				if(len1<len2)
				{
					len=strlen(s);
					n=len2-len1;
					for(l=len;l>=(i+k);l--)  s[l+n]=s[l];
					for(j=0;j<len2;j++)   s[i+j]=b[j];


				}
			}
		}
	}
	puts(s);
	return 0;


}
main()
{
      char a[300];
      char b[100],c[100];
      gets(a);
      gets(b);
      gets(c);
      int x1,x2,x3,i,j,k;
      x1=strlen(a);
      x2=strlen(b);
      x3=strlen(c);
      /*puts(a);
      puts(b);
      puts(c);*/
      for(i=0;i<=x1-x2;i++)
      {
          for(j=0;j<=x2-1;j++)
          {
              if(b[j]!=a[i+j])
              {
                  break;
              }
          }
          //printf("%d\n",j);
          if(j==x2)
          {
              for(k=0;k<=x2-1;k++)
              {
                  a[i+k]=c[k];
              }
              break;
          }
      }
      puts(a);
      getchar();getchar();getchar();getchar();getchar();getchar();getchar();getchar();        
}
void main()
{
	char string[256],sub[256],replace[256],s[256],p[256];
	int i,j,k,a,k0,k1,k2,flag = 0;

	scanf("%s",string);
	scanf("%s",sub);
	scanf("%s",replace);
	k0 = strlen(string);
	k1 = strlen(sub);
	k2 = strlen(replace);
    for(i = 0;i < k0;i ++)
	{
	   for(j = i,k = 0;j < i + k1;j ++,k ++)
	   {
		   p[k] = string[j];
	   }
	   p[k] = 0;
	
	   if(strcmp(sub,p) == 0)
	   {
		   a = i;
		   for(i = 0;i < a;i ++)
		   {
			s[i] = string[i];
		   }
	       for(i = k0+k2-k1,j = k0;i >= a + k2,j >= a + k1;i --,j --)
		   {
            s[i] = string[j];
		   }
           for(i = a,j = 0;i < a + k2,j < k2;i ++,j ++)
		   {
		    s[i] = replace[j];
		   }
		   flag = 1;break;
	   }
	   }
	  if(flag == 1)
	  {
		  for(i = 0;i < k0 + k2 - k1;i ++)
	   {
	      printf("%c",s[i]);
	   }
	      printf("\n");
	  }
	  if(flag == 0)
		  puts(string);
	
}
void main()
{
	char s[300],a[300],b[300];
	int n,m,i,j,p;
	scanf("%s\n%s\n%s",s,a,b);
	n=strlen(s);
	m=strlen(a);

	for(i=0,j=0;i<m,j<n;j++)
	{
		if(a[i]==s[j])
		{
			p=j;
			i++;
			if(i==m) break;
		}
        else i=0; 
	}

	if(i==m)
		for(i=0;i<m;i++)
			s[p-m+1+i]=b[i];

	printf("%s\n",s);
}
int main() {
	char str[600], subStr[260], rep[260];
	memset(str, 0, sizeof(str));
	scanf("%s%s%s", str, subStr, rep);
	char* pos  = strstr(str, subStr);
	if(pos != NULL) {
		int len = strlen(rep);
		for(int i = 0; i < len; i++) {
			*pos++ = rep[i]; 
		}
	} 
	printf("%s", str);
}
int main()
{
   char str[256],a[256],b[256],tmp[256];
   int i,lenstr,lena;
   char *pstr;
   gets(str);
   gets(a);
   gets(b);
   lenstr=strlen(str);
   lena=strlen(a);

   for(i=0;i<=lenstr-lena;i++)
   {
      pstr=&str[i];
      strncpy(tmp,pstr,lena);
      tmp[lena]='\0';
      
      if(strcmp(tmp,a)==0)
      {
         str[i]='@';
         break;
      }
   }

   for(i=0;i<lenstr;i++)
   {
      if(str[i]=='@')
      {
        printf("%s",b);
        i=i+lena-1;
      }
      else printf("%c",str[i]);
   }
   printf("\n");

  return 0;
}
int main()
{
	int i,l,j=0,l1,l2,e=0;
	char a[256],b[256],c[256],d[256];
	scanf("%s",a);
    scanf("%s",b);
	scanf("%s",c);
	l=strlen(a);
	l1=strlen(b);
	l2=strlen(c);
	for(i=0;a[i]!='\0';i++){
		if(e==0){
		if(a[i]==b[j]){
			d[j]=a[i];
			j++;
		}else{
			if(j!=0&&e!=1){
				d[j]='\0';
				printf("%s",d);
			}
			j=0;
			printf("%c",a[i]);
		}
		if(j==l1&&e==0){
			printf("%s",c);
			i=i-l1+l2;
			e=1;
		}
		}else{
			printf("%c",a[i]);
		}
	}
	return 0;
}
int main()
{
	int len,len2,i,j,f,ff;
	char s[300],sub[300],replace[300];
	gets(s);
	len=strlen(s);
	gets(sub);
	gets(replace);
	len2=strlen(sub);
	f=0;
	for (i=0; i<=len-len2;i++) {
		ff=1;
		for (j=0; j<len2; j++) 
			if (sub[j]!=s[i+j]) {ff=0; break;}
		if (ff==0) continue;
		for (j=0; j<i; j++) printf("%c",s[j]);
		printf("%s",replace);
		for (j=i+len2; j<len; j++) printf("%c",s[j]);
		f=1;
		break;
	}
	if (f==0) printf("%s",s);
	return 0;
}
int main()
{
	char s[100],a[100],b[100];
	int x,y,z,i,j,k;
	gets(s);gets(a);gets(b);
	x=strlen(s);y=strlen(a);z=strlen(b);
	for(i=0;i<x;i++)
	{
		k=1;
		if(s[i]==a[0])
		{
			k=0;
			for(j=1;j<y;j++)
			{
				if(s[i+j]!=a[j]) k=1;
			}
		}
		if(k==0) 
		{
			for(j=0;j<z;j++) printf("%c",b[j]);
			for(i=i+y;i<x;i++)printf("%c",s[i]);
			break;
		}
		if(k==1) printf("%c",s[i]);
	}
	return 0;
}
int cmp(int x,int y)
{
	if (x>y)
		return 1;
	else
		return 0;
}
int main()
{
	char str1[260],str2[260],str3[260];
	cin>>str1>>str2>>str3;
	int L=strlen(str2),len=strlen(str1),k,i;
	for (i=0;i<len;i++)
	{
		k=0;
		while(str2[k]==str1[i+k]&&k<L)
		{
			k++;
		}
		if(k==L)
		{
			break;
		}
	}
	if(i==len)
	{
		for(int q=0;q<len;q++)
		{
			cout<<str1[q];
		}
		return 0;
	}
	for(int q=0;q<i;q++)
	{
		cout<<str1[q];
	}
	cout<<str3;
	for(int q=i+strlen(str2);q<len;q++)
	{
		cout<<str1[q];
	}
	return 0;
}
int main()
{
     int a,b,i,j,count=0,k;
     char string[256],substring[256],replacement[256],czy[256],cai[256];
     gets(string);
     gets(substring);
     gets(replacement);
     a=strlen(string);
     b=strlen(substring);
     for(i=0;i<a;i++)
     {
          if(string[i]==substring[0])
          {
                                      for(j=0;j<b;j++)
                                      czy[j]=string[i+j];
                                      if(strcmp(czy,substring)==0)
                                      {
                                                                  count=1;
                                                                  for(k=0;k<i;k++)
                                                                  cai[k]=string[k];
                                                                  for(k=i;k<i+b;k++)
                                                                  cai[k]=replacement[k-i];
                                                                  for(k=i+b;k<a;k++)
                                                                  cai[k]=string[k]; 
                                      }
                                      if(count==1)
                                      break;
          }
     }
     if(count==1)
     puts(cai);
     else
     puts(string);
}
/*******************************
/* ?  ?: ????
/* ?  ?: ??? 1200012861
/* ?  ?: 2012?12?24?
*******************************/


int main()
{
	char str[260], subStr[260], replace[260];
	char *start = str, *node = NULL, *rep = replace;
	int len;
	cin >> str >> subStr >> replace;
	node = strstr(str, subStr);
	if (node == NULL)
		while (*start != '\0')
			cout << *start++;
	else
	{
		len = strlen(subStr);
		while (start != node)
			cout << *start++;
		while (*rep != '\0')
			cout << *rep++;
		node += len;
		while (*node != '\0')
			cout << *node++;
	}
	cout << endl;
	start = NULL;
	node = NULL;
	rep = NULL;
	return 0;
}
int main (){
    int i,k,n,m,L,l1,l2;
    char s[300],a[300],b[300];
 scanf("%s",s); scanf("%s",a); scanf("%s",b);
    L=strlen(s); l1=strlen(a); l2=strlen(b);
    n=0;
    for (i=0;i<L;i++){
        if ( a[0]==s[i] ){
             n++;
             for ( k=1; k<l1; k++){
                if(s[i+k]==a[k]){ n++;} else { n=0; break;}
             }
        }if ( n==l1){ break; }
    }for(k=0;k<i;k++){ printf("%c",s[k]); }
    for ( k=0;i!=L&&k<l2;k++){
        printf("%c",b[k]);
    }  for ( k=i+l1;k<L;k++){
        printf("%c",s[k]);
        }
    return 0;
}
int main()
{
	char s[1000], a[1000], b[1000], n[1000];
	int j, i, pos, len1, len2, flag = 0;

	cin >> s;
	cin >> a;
	cin >> b;
	if(!strstr(s,a))
	{
		cout << s << endl;
		return 0;
	}
	len1 = strlen(s);
	len2 = strlen(a);

	for(i=0,j=0;s[i]!='\0';i++)
	{
		if(s[i]==a[j])
		{
			j++;
			continue;
		}
		if(j>=len2)
			break;
		if(j)
			j = 0;
		
	}

		pos = i;
		j = i - j;
		for(i=0;i<j;i++)
			n[i] = s[i];
		for(j=0;b[j]!='\0';j++,i++)
			n[i] = b[j];
		j = pos;
		for(;s[j]!='\0';i++,j++)
			n[i] = s[j];
		n[i] = '\0';
		cout << n << endl;


	return 0;
}
main()
{
    char s[256],sub[206],re[256];
    int i,j,n,m;
    scanf("%s",s);
    scanf("%s",sub);
    scanf("%s",re);
    n=strlen(sub);
    m=strlen(s);
    for (i=0;i<m-n+1;i++)
    {
        if (s[i]==sub[0])
        for(j=0;j<n;j++)
        {
            if (s[i+j]!=sub[j])
            break;
        }
        if (j==n)
        {
            for (j=0;j<i;j++)
            printf("%c",s[j]);
            printf("%s",re);
            for (j=i+n;j<m;j++)
            printf("%c",s[j]);
            break;
        }
    }
    if(i==(1+m-n))
    printf("%s",s);
}
void main()
{
    char *p1,*p2,*p3,*p,*q;
    int i,j,k;
    p1=(char*)malloc(100*sizeof(char));
    p2=(char*)malloc(100*sizeof(char));
    p3=(char*)malloc(100*sizeof(char));
    q=(char*)malloc(100*sizeof(char));
    gets(p1);
    gets(p2);
    gets(p3);
    p=strstr(p1,p2);
    if(p==0)printf("%s",p1);
    else{
    for(i=0;*(p1+i)!='\0';i++)
    {
        *(q+i)=*(p1+i);
        if(p1+i==p) break;
    }
    for(j=0;*(p3+j)!='\0';j++)
        *(q+i+j)=*(p3+j);
    for(k=i+strlen(p2);*(p1+k)!='\0';k++,j++)
    *(q+i+j)=*(p1+k);
    *(q+i+j)='\0';
    printf("%s",q);}
}
int main()
{
	char s1[256]={'\0'},s2[256]={'\0'},s3[256]={'\0'},t[256]={'\0'};
	int i,j,k=0,s,l1,l2,l3;
	scanf("%s",s1);
	scanf("%s",s2);
	scanf("%s",s3);
	l1=strlen(s1);
	l2=strlen(s2);
	l3=strlen(s3);
    for(i=0;i<l1;)
	{
		for(j=0;j<l2;j++)
		{
			if(i+j>=l1 || s1[i+j]!=s2[j])				{
				break;				
			}
		}
		if(j==l2)
		{
			for(s=0;s<l3;s++)
			{
				t[k]=s3[s];
				k++;
			}
			i=i+l2;
			break;	
		}
		else
		{
			t[k]=s1[i];
			i++;
			k++;
		}
	}
	for(; i<l1; i++)
	{
		t[k] = s1[i];
		k++;
	}
	t[k] = '\0';	
	printf("%s", t);
    return 0;
}
int main()
{
    char zfc[257],son[257],re[357],fu[257];
    int i,len,slen,k,t=0;
    gets(zfc);
    gets(son);
    gets(re);
    len=strlen(zfc);
    slen=strlen(son);
    for(i=0;i<=len-slen;i++)
    {
        for(k=i;k<i+slen;k++)
        {
             fu[k-i]=zfc[k];
        }
        fu[slen]='\0';
        if(strcmp(fu,son)==0)
        {
             for(k=0;k<i;k++) 
             {
                printf("%c",zfc[k]);
             }
             printf("%s",re);
             for(k=i+slen;k<len;k++)
             {
                 printf("%c",zfc[k]);
             }
             t=1;  
        }
        if(t==1)
        {
             break;
        }
    }
    if(t==0)
    {
            printf("%s",zfc);
    }
    return 0;
}
int main()
{	
	int i,j,length2,length1;
	char str[300],sub[300],rep[300];
	gets(str);gets(sub);gets(rep);
	length1=strlen(str);
	length2=strlen(sub);
	for(i=0;i<length1;i++)
	{
		for(j=0;j<length2;j++)
		{
			if(sub[j]!=str[i+j])
			break;
		}
		if(j==length2)
		{	
			for(j=0;j<length2;j++)
				str[i+j]=rep[j];
			break;
		}
	}
	puts(str);
	return 0;
}
int main()
{
    char zfc[256],z1[256],z2[256];
    int i,j,k,n,p,count,count1,count2,count4,count3[50];
    int num1,num2,d=0;
    gets(zfc);
	gets(z1);
	gets(z2);
    count=0;
	num1=strlen(zfc);
	num2=strlen(z1);
    for(i=0;i<num1;i++)
	{
		count1=0;
		for(j=0;j<num2;j++)
		{
			if(zfc[i+j]==z1[j])count1++;
		}
		if(count1==num2)
			break;
	}
	if(count1==num2)
	{
		for(j=i;j<num2+i;j++)
		{
			zfc[j]=z2[j-i];
		}
	}
  	printf("%s",zfc);
	return 0;
}
int main ()
{
	char s1[300], s2[300], s3[300], *p = NULL;
	int i, l1, l2, l3;
	cin >> s1 >> s2 >> s3;
	p = strstr (s1, s2);
	l1 = strlen(s1);
	l2 = strlen(s2);
	l3 = strlen(s3);
	if (p == NULL)
		cout << s1;
	else
	{
		for (i = 0; &s1[i] < p; i++)
			cout << s1[i];
		cout << s3;
		for (p = p + l2; *p != '\0'; *p++)
			cout << *p;
	}
	return 0;
}
int main(){
    char mc[1000],zc[1000],huan[1000];
    int len1,len2,len3,i,j=0;
    int sum=0,ci=0,loc;
    scanf("%s%s%s",mc,zc,huan);
    len1=strlen(mc);
    len2=strlen(zc);
    len3=strlen(huan);
    for(i=0;i<len1;i++)
    {
        if(mc[i]==zc[0]){
                         sum=0;
                         for(j=i;j<len1;j++) {
                                       if(mc[j]==zc[j-i]){
                                                          sum++;
                                                          }
                                       else{
                                            break;
                                            }
                                       }
                         loc=i;
                                                if(sum==len2){
                                       for(i=0;i<loc;i++){
                                                        printf("%c",mc[i]);
                                                        }
                                       for(i=loc;i<=loc+len3-1;i++){
                                                              printf("%c",huan[i-loc]);
                                                              }
                                       for(i=loc+len3;i<=len1+len3-len2-1;i++){
                                                                             printf("%c",mc[i]);
                                                                             }
                                       ci++;
                                       break;
                                       
                                       }
                         
                         }
        
    }
                      
                      
     if(ci==0)
     {
         printf("%s",mc);
         }
          return 0;
     }
char str[256], sub[256];
int f(int x)
{
	int i = x, j = 0;
	while (sub[j] != '\0')
	{
		if (str[i] != sub[j])
			return 0;
		i++; j++;
	}
	return 1;
}
int main()
{
	char rep[256];
	int i = 0, j = 0;
	cin >> str;
	cin >> sub;
	cin >> rep;
	while (str[i] != '\0')
	{
		if (f(i))
		{
			while (rep[j] != '\0')
			{
				str[i] = rep[j];
				i++;
				j++;
			}
			break;
		}
		i++;
	}
	cout << str << endl;
	return 0;
}
void main()
{
	char a[256],b[256],c[256];
	int len1,len2,len3,i,j,sum=0;
	scanf("%s",&a);
	scanf("%s",&b);
	scanf("%s",&c);
	len1=strlen(a);
	len2=strlen(b);
	len3=strlen(c);
	for(i=0;i<len1;i++)
	{
		if(a[i]==b[0])
		{
				sum=0;
				for(j=0;j<len2;j++)
			{
				if(a[i+j]==b[j])
				{
					sum++;
				}
			}
			if(sum==len2)
			{
				for(j=0;j<len3;j++)
				{
					a[i+j]=c[j];
				}
				break;
			}	
		}
	}
	printf("%s",a);
}
int main()
{
	char a[256],b[256],c[256],d[256],e[256];
	int i,j,lena,lenb,m,n,k;
	scanf("%s%s%s",a,b,c);
	lena=strlen(a);
	lenb=strlen(b);
	for(i=0;i<lena;i++)
	{
		m=0;
		for(j=i;j<i+lenb;j++)
		{
			if(b[j-i]!=a[j])
		       m=1;
		}
		if(m==0)
		{
			for(n=0;n<i;n++)
			{
				d[n]=a[n];
			}
			d[n]='\0';
			for(k=i+lenb;k<lena;k++)
			{
				e[k-i-lenb]=a[k];
			}
			e[k-i-lenb]='\0';
			printf("%s%s%s",d,c,e);
			break;
		}
    }
	if(m==1)
		printf("%s",a);
	return 0;
}
int main()
{
char str[256]={' '},sstr[256]={' '},rpl[256]={' '};
int lstr,lsstr;
	scanf("%s%s%s",str,sstr,rpl);
	lstr=strlen(str);lsstr=strlen(sstr);
	int pst,curr,indi=0;
	for(pst=0;pst<=lstr-lsstr;pst++){
		int state=1;
		for(curr=0;curr<lsstr;curr++){
			if(sstr[curr]!=str[curr+pst]){
				state=0;
				break;
			}
		}
		if(state==1){
			indi=1;
			break;
		}
	}
	if(indi==0)printf("%s",str);
	else{
		for(curr=0;curr<pst;curr++){
			printf("%c",str[curr]);
		}
		for(curr=0;curr<lsstr;curr++){
			printf("%c",rpl[curr]);
		}
		for(curr=pst+lsstr;curr<lstr;curr++){
			printf("%c",str[curr]);
		}
	}
	return 0;
}
void main()
{
	char st[300],sub[300],re[300],c[300],sz[300];
	int i,j,k,t,u;
	scanf("%s%s%s",st,sub,re);
	for(i=0;i<=strlen(st)-strlen(sub);i++)
	{
		u=0;
		k=0;
		t=0;
		strcpy(sz,st);
		for(j=i;j<=(i+strlen(sub)-1);j++)
		{
			c[k]=sz[j];
			k++;
		}
		c[k]='\0';
		if(strcmp(c,sub)==0)
		{
			for(j=i;j<=(i+strlen(sub)-1);j++)
			{
				sz[j]=re[t];
				t++;
			}
			printf("%s",sz);
			u=1;
			break;
		}
	}
	if(u==0)
	{
		printf("%s",st);
	}
}
int main()
{
	char a[300],b[300],c[300];
	int i,j,k,n1,n2;
	scanf("%s %s %s",a,b,c);
	n1=strlen(a);
	n2=strlen(b);
	for (i=0;i<=n1-n2;i++)
	{
		for (j=0;j<n2;j++)
			if (b[j]==a[i+j])
			{
				k++;
				if (k==n2) break;
			}
			else { k=0; break;}
			if(k==n2) break;
	}
	if (k==n2)
	{
		for (j=0;j<n2;j++)
			a[i+j]=c[j];
		printf("%s",a);
	}
else printf("%s",a);
	return 0;
}
int main()
{
	char a[260], b[260], c[260];
	int i, t, j, s, len, len1;
	cin >> a >> b >> c;
	len1 = strlen(a);
	len = strlen(b);
	for (i = 0; i <= len1 - len; i++)
	{
		t = 1;
		for (j = 0; j < len; j++)
			if (a[i + j] != b[j])
				t = 0;
		if (t == 1)
		{
			s = i;
			break;
		}
	}
	if (t == 1)
	{
		for (i = 0; i < s; i++)
			cout << a[i];
		cout << c;
		for (i = s + len; i < len1; i++)
			cout << a[i];
	}
	else
		cout << a;
	cout << endl;

	return 0;
}
int main()
{
	char s1[256],s2[256],s3[256];
	int i,j,a=1,n,m,k;
	scanf("%s",s1);
	scanf("%s",s2);
	scanf("%s",s3);
	n=strlen(s1);
	m=strlen(s2);
	for(i=0;i<n;i++)
		if(s1[i]==s2[0])
		{
			for(j=1;j<m;j++)
			{
				if(s1[j+i]==s2[j])
					a++;
			}
			if(a==m)
			{
				for(k=0;k<i;k++)
					printf("%c",s1[k]);
				for(k=0;k<m;k++)
					printf("%c",s3[k]);
				for(k=i+m;k<n;k++)
					printf("%c",s1[k]);
				printf("\n");
				break;
			}	
		}
	if(a!=m) printf("%s\n",s1);
	return 0;
}
int main()
{
	char sz[100];
	scanf ("%s",sz);
	int i,j,m,n,len,len1,len2;

	char as[100],az[100];
	scanf ("%s%s",as,az);

	len=strlen(sz);
	len1=strlen(as);
	len2=strlen(as);
	for (i=0;i<len;i++){
		for (j=0;j<len2;j++,i++){
			if (sz[i]!=as[j]) break;
			if (j==len2-1) {
				for (m=i-len2+1,n=0;n<len2;n++,m++){
					sz[m]=az[n];
				}
			}
			if (j==len2-1){
				i=len;
			}
		}
	}
	printf("%s",sz);
	return 0;
}
void main()
{
	char a[100],b[100],c[100];
	int l,p,q,i,j,s,m=0,k,y;
	gets(a);
	gets(b);
	gets(c);
	l=strlen(a);p=strlen(b);
	for(i=0;i<l;i++)
	{
		    k=i;
			j=0;
			while(a[k]==b[j]&&j<p)
			{
				k++;
				j++;
			}
			if(j==p)
			{
				for(s=i;s<i+p;s++)
				{
					a[s]=c[m];
					m++;
					y=1;
				}
			}
			if(y==1)
				break;
	}
	printf("%s\n",a);
}