main(){
	char *a=(char*)strdup("main(){char *a=(char*)strdup(%c%s%c);int count=1,comma=0;char *p=a,*b,*c,*p2,str[5];char str1[]={'p','r','i','n','t','f','(','a',0};char str2[]={37,'c',0};char str3[]={',',37,'d',0};while(*p&&p<strstr(a,str1)){if((p==a&&*p!=37&&*p!=92)||(p!=a&&*p!=37&&*p!=92&&*(p-1)!=37&&*(p-1)!=92)){b=(char*)calloc(strlen(a)+6,sizeof(char));strncpy(b,a,p-a);strcat(b,str2);p2=a;while(p2<p){if(*p2==37)count++;p2++;}p2=strstr(a,str1);p2+=7;while(*p2){if(*p2==',')comma++;else if(*p2==')'&&*(p2+1)==';')comma++;if(comma==count)break;p2++;}strncat(b,p+1,p2-(p+1));sprintf(str,str3,*p);strcat(b,str);strcat(b,p2);c=(char*)calloc(strlen(a)+5,sizeof(char));strncpy(c,a,p2-a);strcat(c,str);strcat(c,p2);free(a);a=c;break;}p++;}if(p==strstr(a,str1))b=a;printf(a,34,b,34);}");
	int count=1, comma=0;
	char *p=a, *b, *c, *p2, str[5];
	char str1[]={'p','r','i','n','t','f','(','a',0};
	char str2[]={37,'c',0};
	char str3[]={',',37,'d',0};
	while(*p && p < strstr(a, str1)){
		if((p==a&&*p!=37&&*p!=92)||(p!=a&&*p!=37&&*p!=92&&*(p-1)!=37&&*(p-1)!=92)){
			b = (char*)calloc(strlen(a) + 6, sizeof(char));
			strncpy(b, a, p-a);
			strcat(b, str2);
			p2 = a;
			while(p2<p){
				if(*p2==37)
					count++;
				p2++;
			}
			p2 = strstr(a, str1);
			p2+=7;
			while(*p2){
				if(*p2 == ',')
					comma++;
				else if(*p2==')' && *(p2+1)==';')
					comma++;
				if(comma==count)
					break;
				p2++;
			}
			strncat(b, p+1,p2-(p+1));
			sprintf(str, str3, *p);
			strcat(b, str);
			strcat(b,p2);
			c = (char*)calloc(strlen(a) + 5, sizeof(char));
			strncpy(c, a, p2-a);
			strcat(c, str);
			strcat(c, p2);
			free(a);
			a = c;
			break;
		}
		p++;
	}
	if(p == strstr(a, str1))
		b = a;
	printf(a,34,b,34);
}
