semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
void main()
{
   int   a,b,c,d,x,y; 
   scanf("%d",&x) ;
   a=x/1000;
   b=(x-a*1000)/100;
   c=(x-a*1000-b*100)/10;
   d=x-a*1000-b*100-c*10;
   if(a==0)
	   if(b==0)
		   if(c==0)
			   y=d;
		   else y=d*10+c;
		else y=d*100+c*10+b;
	else y=d*1000+c*100+b*10+a;
	if(d==0)
		if(c==0)
			if(b==0)
				if(a==0)
					printf("0");
				else printf("000%d",y);
			else printf("00%d",y);
		else printf("0%d",y);
	else printf( "%d",y); 
}
int main()
{
	int a,b,c,d,n;
	scanf("%d",&n);
	a=n/1000;
	b=(n-a*1000)/100;
	c=(n-a*1000-b*100)/10;
	d=n-a*1000-b*100-c*10;
	if(a==0)
	{
		if(b==0)
		{
			if(c==0)
			{
				printf("%d\n",d);
			}
			else
			{	
			printf("%d%d\n",d,c);
			}
		}
		else
		{
			printf("%d%d%d\n",d,c,b);
		}
	}
	else
	{
		printf("%d%d%d%d\n",d,c,b,a);
	}
	return 0;
}
void main()
{
	int x,a,b,c,d,e;
	scanf("%d",&x);
	if(x>9999)
	{e=x/10000;
	d=x%10000/1000;
	c=x%10000%1000/100;
         b=x%10000%1000%100/10;
	a=x%10000%1000%100%10;
	printf("%d%d%d%d%d\n",a,b,c,d,e);}
	else
		if(x>999)
		{d=x/1000;
    	c=x%1000/100;
         b=x%1000%100/10;
    	a=x%1000%100%10;
    	printf("%d%d%d%d\n",a,b,c,d);}
        else
		  if(x>99)
		  {
    	  c=x/100;
          b=x%100/10;
          a=x%100%10;
    	  printf("%d%d%d\n",a,b,c);}
          else
		    if(x>9)
			{
            b=x/10;
            a=x%10;
    	    printf("%d%d\n",a,b);}
			else printf("%d\n",x);
}
//#include <math.h>
//#include <stdlib.h>

int main(void)
{
    int num,temp=0,sub=0,dv=10;;
    scanf("%d",&num);
    int a,b=1;

    if (num==0)
    {
        printf("0");
        return 0;
    }

    while (num!=sub)
    {
        temp=(num-(num/dv)*dv-sub)/(dv/10);
        sub+=temp*(dv/10);

        printf("%d",temp);
        dv*=10;
    }

    return 0;
}
int main()
{
	char s[6],t[6];
	int i,x;
	gets(s); 
	x=strlen(s); 
	for (i=0;i<=x-1;i++) t[x-1-i]=s[i];
	for (i=x;i<=5;i++) t[i]=0;
	puts(t);
}
int main()
{
    int a,b;
    scanf("%d",&a);
    int r1,r2,r3,r4;
    if(a>9999)b=5;
    else if(a>999)b=4;
    else if(a>99)b=3;
    else if(a>9)b=2;
    else b=1;
    switch(b)
    {
        case 1:printf("%d",a);break;
        case 5:printf("00001");break;
        case 2:r3=a/10;r4=a-r3*10;printf("%d%d",r4,r3);break;
        case 3:r2=a/100;r3=(a-r2*100)/10;r4=a-r2*100-r3*10;printf("%d%d%d",r4,r3,r2);break;
        case 4:r1=a/1000;r2=(a-r1*1000)/100;r3=(a-r1*1000-r2*100)/10;r4=(a-r1*1000-r2*100-r3*10);printf("%d%d%d%d",r4,r3,r2,r1);break;
    }
}
int main(void)
{
	char s[20];
	int l, i;
	scanf("%s", s);
	l = strlen(s);
	for (i = l - 1; i >= 0; i--) printf("%c", s[i]);
	return 0;
}
int main()
{
	int a,b,c[6]={0,0,0,0,0,0};
	scanf("%d",&a);
	if(a/10>0)
	{
		b=a/10;
		c[1]=a-10*b;
		c[2]=b;
		a=b;	
		if(a/10>0)
		{
			b=a/10;
			c[2]=a-10*b;
			c[3]=b;
			a=b;			
			if(a/10>0)
			{
				b=a/10;
				c[3]=a-10*b;
				c[4]=b;
				a=b;
				if(a/10>0)
				{
					b=a/10;
				    c[4]=a-10*b;
					c[5]=b;
					printf("%d%d%d%d%d",c[1],c[2],c[3],c[4],c[5]);
				}
				else printf("%d%d%d%d",c[1],c[2],c[3],c[4]);
			}
			else printf("%d%d%d",c[1],c[2],c[3]);
		}
		else printf("%d%d",c[1],c[2]);
	}
	else 
	{c[1]=a;
	printf("%d",c[1]);
	}
	return 0;
}
int main()
{
	char a[10]={0};
	int b,i,n;
	scanf("%d",&b);
	i=0;
	do
	{
		a[i]=b%10;
		b=b/10;
		i++;
	}while(b>0);
	n=i;
	for(i=0;i<n;i++)
		printf("%d",a[i]);
	printf("\n");
	return 0;
}
//********************** 
//*?????????***
//*?????? 1300012728***
//*???2013.9.28******
//**********************
int main()
{
	int a, b, c, d;                  // ??abcd?????5??????
	int num;                         // ??????
	cin >> num;                     // ?????
	if (num == 10000)                   // ??????10000????00001
	{
		cout << "00001";
	}
	else if (num <10000 && num > 999)           // ???4??
	{
		d = num / 1000;                      // d???
		c = num / 100 - d * 10;                   // c???
		b = num / 10 - d * 100 -c * 10;           // b???
		a = num % 10;                // a???
		cout << a << b << c << d;                    //?????????
	}
	else if (num < 1000 && num >99)               //?????
	{
		c = num / 100;                      // c???
		b = num / 10 - c * 10;           // b???
		a = num % 10;                // a???
		cout <<a << b << c;             //????????
	}
	else if (num < 100 && num > 9)               //?????
	{
		b = num / 10;                             // b???
		a = num - b * 10;                // a???
		cout <<a << b;                      //????????
	}
	else
	{
		cout << num;                      //???????????? 
	}
	return 0;
}
int main()
{
	int n, a, b, c, d;
	cin>>n;
	if (n <= 9 && 0 <= n)
		cout<<n;
	if (n <= 99 && 10 <= n)
    {
        a = n % 10;
	    n = n / 10 ;
	    cout<<a;
	    b = n % 10;
	        cout<<b;
	}
	if (n <= 999 && 100 <= n)
	{
        a = n % 10;
	    n = n / 10;
		cout<<a;
	    b = n % 10;
		n = n / 10;
        cout<<b;
	    c = n % 10;
	    cout<<c;
	}
	if (n <= 9999 && 1000 <= n)
	{
        a = n % 10;
	    n = n / 10;
	    cout<<a;
	    b = n % 10;
		n = n / 10;
	    cout<<b;
        c = n % 10;
		n = n / 10;
        cout<<c;
	    d = n % 10;
	    cout<<d;
	}
	if (n == 10000)
	    cout<<"00001";
	return 0;
}
int main()
    {
    int a,b,c,d,e;
scanf("%d",&a);

if(a>9)
{
       if(a>99)
       {
               if(a>999)
                        {
                            b=a%10;
                        c=((a-b)%100)/10;
                        d=((a-b-c)%1000)/100;
                        e=((a-b-c-d)%10000)/1000;
                        printf("%d%d%d%d",b,c,d,e);
                        }
                        else
                        {
                            b=a%10;
                        c=((a-b)%100)/10;
                        d=((a-b-c)%1000)/100;
                        printf("%d%d%d",b,c,d);
                        }
                        }
                        else
                        {
                            b=a%10;
                        c=((a-b)%100)/10;
printf("%d%d",b,c);
                        }
                        }
                        else
                        {
                            b=a%10;
                            printf("%d",b);
                            }
                        return 0;
                        }
void nixu( int k );
int main()
{
    int n;
    cin>>n;
     nixu(n);
    return 0;
    }
    void nixu (int k)
    {
      if(k>0)
        {
         cout<<k%10;k/=10; 
         nixu (k);    
             }   
         }
int main()
{
	int n,i;
	int sv[4];
	cin>>n;
	if(n==10000)
	{
		cout<<"00001"<<endl;
	}
	else if(n/1000!=0&&n!=10000&&n>=1000)
	{
		for(i=0;i<4;i++)
		{
			sv[i]=n%10;
			n=n/10;
		}
		for(i=0;i<4;i++)
		{
			cout<<sv[i];
		}
		cout<<endl;
	}
	else if(n/100!=0&&n>=100)
	{
		for(i=0;i<3;i++)
		{
			sv[i]=n%10;
			n=n/10;
		}
		for(i=0;i<3;i++)
		{
			cout<<sv[i];
		}
		cout<<endl;
	}
	else if(n/10!=0&&n>=10)
	{
		for(i=0;i<2;i++)
		{
			sv[i]=n%10;
			n=n/10;
		}
		for(i=0;i<2;i++)
		{
			cout<<sv[i];
		}
		cout<<endl;
	}
	else
	{
		cout<<n<<endl;
	}
	return 0;
}
int main()
{
int n,a[5],i,m;
cin>>n;
a[0]=n%10;
a[1]=(n/10)%10;
a[2]=(n/100)%10;
a[3]=(n/1000)%10;
a[4]=(n/10000)%10;

if (n==0)                                 //????0,if?????,????==
{
	cout<<0;
}
else
{
	i=4;
while(a[i]==0)                            //do-while???????
{
m=i;
i--;
}
for(i=0;i<m;i++)
cout<<a[i];
}
return 0;
}
void main()
{
	char *a,*p;
    int n=0;
	a=(char *)malloc(1000);
	gets(a);

	for(p=a;*p!='\0';p++);
	p--;
    for(;p>=a;p--)
		printf("%c",*p);
    

}
int main()
{
	int a,s,p;
	scanf("%d",&a);
	s=a;
	while(s!=0)
	{
		p=s%10;
		printf("%d",p);
		s=(s-p)/10;
	}
	return 0;
}
int main()
{
int a,b,c,d,e,x;
scanf("%d",&x);
e=x/10000;
d=(x-e*10000)/1000;
c=(x-e*10000-d*1000)/100;
b=(x-e*10000-d*1000-c*100)/10;
a=x-e*10000-d*1000-c*100-b*10;
if(x<10)
printf("%d",a);
else if(x<100)
printf("%02d",10*a+b);
else if(x<1000)
printf("%03d",100*a+10*b+c);
 else if(x<10000)
 printf("%04d",1000*a+100*b+10*c+d);
else if(x==10000)
printf("00001");
return 0;
}
int main(int argc, char* argv[])
{
	int n, m;
	scanf("%d",&n);
	if(n==0)
		printf("%d",0);
	else
	{
		while(n!=0)
		{
			m=n%10;
			printf("%d",m);
			n=n/10;
		}
	}
	return 0;
}
int main()
{
    int n;
    int i;
    scanf("%d",&n);
    int k,count=0,s=1;
    int sum=0;
    while(n!=0)
    {
         k=n%10;
         if(k==0)
         count++;                
         n=n/10;
         sum=sum*10+k;
    }
    for(i=1;i<=count;i++)
    printf("0");
    printf("%d",sum);
}
int main()
{
	int n,a,b,c,d,x;
	scanf("%d",&n);
	if(n>=1000)
	{
	 a=n%10;
	 b=(n%100)/10;
	 c=(n%1000)/100;
	 d=n/1000;
	 x=a*1000+b*100+c*10+d;
	 printf("%04d",x);
	}
	else if(n>=100)
	{a=n%10;
	 b=(n%100)/10;
	 c=n/100;
	 x=a*100+b*10+c;
	 printf("%03d",x);
	}
	else if(n>=10)
	{a=n%10;
	b=n/10;
	x=a*10+b;
	printf("%02d",x);
	}
	else printf("%d",n);
    return 0;
}
void main()
{
	int a;
	scanf("%d",&a);
	if (a<10) printf("%d",a);
	else if (a<100)
		printf("%d%d",a%10,(a-a%10)/10);
	else if (a<1000)
		printf("%d%d%d",a%10,(a%100-a%10)/10,(a-a%100)/100);
	else if (a<10000)
		printf("%d%d%d%d",a%10,(a%100-a%10)/10,(a%1000-a%100)/100,(a-a%1000)/1000);
	else printf("00001");
}
int main ()
{
	int i, n, t;
	scanf("%d", &n);
	if (n==0)
		printf("0");
	else {
	for (i=0; i<5; i++)
	{
		if (n!=0){
		t=n%10;
		printf("%d", t);
		n=(n-t)/10;
		}
					}
	}
	return 0;
}
//????007.cpp
//??????
//?????2013?10?25?
//???????????

int main()
{
	int a[5],b[5];
	int n,i,m;
	cin>>n;
	b[0]=n;
	for(i=0;i<5;i=i+1)
	{
		a[i]=b[i]%10;
		b[i+1]=b[i]/10;
		cout<<a[i];
		if(b[i+1]==0)
			break;
	}
	return 0;
}
main()
{
	int a;
	scanf("%d",&a);
        int x,y;
	x=a%10;
	y=a/10;
	printf("%d",x);
	while(y>0)
	{
		x=y%10;
		y=y/10;
		printf("%d",x);
	}
}
void find()
{
	char ch[101];
	
	memset(ch,'\0',sizeof(ch));
	while(cin.getline(ch,1000,'\n')){
	cout<<ch<<endl;
	int i=0,j=0;
	int num=0;
	for(i=0;i<100;i++)//???????????????
		if(ch[i]=='('){num=0;
			for(j=i;j<100;j++){
				if(ch[j]=='(')num++;
				if(ch[j]==')')num--;
				if(num==0)break;}
			if(num>0)ch[i]='$';
		}
	for(i=99;i>=0;i--)
		if(ch[i]==')'){num=0;
			for(j=i;j>=0;j--){
				if(ch[j]=='(')num++;
				if(ch[j]==')')num--;
				if(num==0)break;}
			if(num<0)ch[i]='?';
		}
	int len;
	len=strlen(ch);
	for(i=0;i<len;i++)
		if(ch[i]!='$'&&ch[i]!='?')
			ch[i]=' ';
	cout<<ch<<endl;}
}
int main()
{
	
	find();
		return 0;
}
void f(int n,char b[])
{
	if(n>0)
		f(n-1,b);
	int i=0,k=0,x=0;
	for(k=0;k<n;k++)
	{
		if(b[k]==')')
		{
			for(x=0;x<=k;x++)
			{
				if(b[k-x]=='(')
				{
					b[k]=' ';
					b[k-x]=' ';
					break;
				}
			}
		}
	}
}
int main()
{
	int j=0;
	for(j=0;j<10;j++)
	{
		char a[200]={0},b[200]={0};
		int i=0,k=0,x=0,n=0;
		for(i=0;;i++)
		{
			a[i]=getchar();
			b[i]=a[i];
			if(b[i]!='('&&b[i]!=')'&&b[i]!='\n')
				b[i]=' ';
			if(a[i]=='\n')
				break;
			n++;
		}
		f(n,b);
		for(i=0;i<n;i++)
			cout<<a[i];
		cout<<endl;
		for(i=0;i<n;i++)
		{
			if(b[i]=='(')
				b[i]='$';
			else if(b[i]==')')
				b[i]='?';
		}

		for(i=0;i<n;i++)
			cout<<b[i];
cout<<endl;
	}
	return 0;
}
int main()
{
    char st[1000],st2[1000];
    while(cin.getline(st,1000)){
    for (int i=1;i<=strlen(st);i++) st2[i-1]=' '; st2[strlen(st)]='\0';

    int count=0,z[1000];
    for (int i=1;i<=strlen(st);i++)
        if (st[i-1]=='(') {count++; z[count]=i;}
        else if (st[i-1]==')')
        {
            if (count>0) {z[count]=0; count--;}
            else {st2[i-1]='?';}
        }
    for (int i=1;i<=count;i++) st2[z[i]-1]='$';
    cout<<st<<endl<<st2<<endl;
    }

    return 0;
}
int main()
{
	char a[200];
	int n, i, j, k, m;
	scanf("%d", &n);
	for(i=1;i<=n;i++)
	{
		scanf("%s", a);
		puts(a);
		k=strlen(a);
		for(j=0;j<k;j++)
		{
			if(a[j]==')')
			{
				for(m=j;m>=0;m--)
					if(a[m]=='(')
					{a[m]=' ';a[j]=' ';break;} 
			}
			if(a[j]!='('&&a[j]!=')')
				a[j]=' ';
		}
		for(j=0;j<k;j++)
		{
			if(a[j]=='(')
			{
				a[j]='$';
			}
		    else if(a[j]==')')
			{
				a[j]='?';	
			}
		}
		puts(a);
	}
	return 0;
}
int amount(char c,char a[101])
{
	int i,amount=0;
	for(i=0;a[i]!='\0';i++)
	{
		if(a[i]==c)
			amount=amount+1;
	}
	return amount;
}

void match(char a[101])
{
	int i,j;
	int p,q;
	p=amount('(',a);
	q=amount(')',a);

	for(i=0;a[i]!='\0';i++)
		{
			if(a[i]=='(')
			{
				for(j=i+1;a[j]!='\0';j++)
				{
					if(a[j]=='(')
						break;
					else if(a[j]==')')
					{
						a[i]=' ';
						a[j]=' ';
						break;
					}
				}
			}
		}

	if(amount('(',a)<p||amount(')',a)<q)
		return match(a);

}

int main()
{
	char s[101];
	int i;
	for(;scanf("%s",s)!=EOF;)
	{
		printf("%s\n",s);
		match(s);
		for(i=0;s[i]!='\0';i++)
		{
			if(s[i]=='(')
				printf("$");
			else if(s[i]==')')
				printf("?");
			else
				printf(" ");
		}
		printf("\n");
	}
	return 0;
}
int main()
{
	int len=0,i=0,j=0,sum=0;
	char in[101];
	int sign[101];
	char out[101];
	while(cin>>in)
	{
		len=strlen(in);
		for(i=0;i<len;i++)
			sign[i]=0;
		for(i=0;i<len;i++)
			out[i]=' ';
		out[len]='\0';
		for(i=0;i<len;i++)
		{
			sum=1;
			if(in[i]=='(')
			{
				if(i==len-1)
					out[i]='$';
				else
				{
		     		for(j=i+1;j<len;j++)//??sum=0?????????????????????????????
					{
				     	
				        	if(in[j]=='(')
					        	sum=sum+1;
				        	if(in[j]==')')
					        	sum=sum-1;
							if(sum==0)
							{
						    	sign[j]=1;
					        	break;
							}
					}
				if(sum!=0)
					out[i]='$';
				}
			}
		}
		for(i=0;i<len;i++)
		{
			if(in[i]==')'&&sign[i]==0)
				out[i]='?';
		}
			cout<<in<<endl;
			cout<<out<<endl;

	}
	return 0;
}
//????????????????????????????????
//#include<math.h>


int main()
{
	char st[101];
	int g[101];
	int len,i,j,left;
	while (scanf("%s",st)!=EOF)
	{
		printf("%s\n",st);
		len=strlen(st);
		left=0;
		for (i=0;i<len;i++)
		{
			if (st[i]=='(')
			{
				left++;
				g[left]=i;
			}
		}
		for (i=left;i>0;i--)
		{
			for (j=g[i]+1;j<len;j++)
				if (st[j]==')')
				{
					st[g[i]]=' ';
					st[j]=' ';
					break;
				}
		}
		for (i=0;i<len;i++)
		{
			if (st[i]==')') printf("?");
			else if (st[i]=='(') printf("$");
			     else printf(" ");
		}
		printf("\n");
	}
	return 0;
}
int main()
{
	int m=0,i,j,t,k;
	char a[101],c[101];
	scanf("%d",&t);
	getchar();
	for(k=0;k<t;k++)
	{
		gets(a);
		int l=strlen(a);
		c[l]='\0';
		for(j=0;j<l;j++)
		{
			c[j]=a[j];
			if(a[j]=='(')
				m++;
			if(a[j]!='('&&a[j]!=')')
				c[j]=' ';
		}
		puts(a);
		for(i=0;i<m+1;i++)
		{
			char x=')';
			int y=-1;
			for(j=0;j<l;j++)
			{
				if(c[j]=='('||c[j]==')')
				{
					if(c[j]=='(')
					{}
					else
					{
						if(x=='(')
						{
							c[j]=' ';c[y]=' ';
						}
					}
					y=j;
					x=c[j];
				}
			}
		}
		for(i=0;i<l;i++)
		{
			if(c[i]=='(')
				c[i]='$';
			if(c[i]==')')
				c[i]='?';
		}
		puts(c);
	}
	return 0;
}
char s[1000];
int dp[1000];
int main(void)
{
	//freopen("in.txt","r",stdin);
	int i,j,k,n;
	scanf("%d",&n); 
	while(scanf("%s",s)==1)
	{
		memset(dp,0,sizeof(dp));
		n=strlen(s);
		for(i=0;i<n;i++)
		{
			if(s[i]=='(')
			    dp[i]=-1;
			if(s[i]==')')
			    dp[i]=1;
		}
		for(i=0;i<n;i++)
		{
			if(s[i]==')')
			{
				for(j=i-1;j>=0;j--)
				{
					if(s[j]=='('&&dp[j]==-1)
					{
						dp[i]=0;
						dp[j]=0;
						break;
					}
				}
			}
		}
		printf("%s\n",s);
		for(i=0;i<n;i++)
		{
			if(dp[i]==-1)
			    printf("$");
			else if(dp[i]==1)
			    printf("?");
			else
			printf(" ");
		}
		printf("\n");
	}
	return 0;
}
int main()
{
    char c[101];
    int len,a[101];//0???????1??2?
    int i,j;
    while(gets(c)!=0)
    {
        len=strlen(c);
        for (i=0;i<len;i++)
        {
            if (c[i]=='(') a[i]=1;
            else if (c[i]==')')
            {
                for (j=i-1;j>=0;j--)
                {
                    if (a[j]==1) {a[j]=0;a[i]=0;break;}
                }
                if (j<0) a[i]=2;
            }
            else a[i]=0;
        }
        puts(c);
        for (i=0;i<len;i++)
        {
            if (a[i]==0) printf(" ");
            else if (a[i]==1) printf("$");
            else printf("?");
        }
        printf("\n");
    }
    return 0;
}
int main()
{
	char a[100];
	while(cin>>a)
	{
		cout<<a<<endl;
		int l=strlen(a);
		for(int i=0;i<l;i++)
		{
			if(a[i]==')')
			{
				for(int j=i-1;j>=0;j--)
					if(a[j]=='(')
					{
						a[i]=a[j]=' ';
						break;
					}
			}
			if(a[i]!='('&&a[i]!=')')
				a[i]=' ';
		}
		for(int i=0;i<l;i++)
		{
			if(a[i]=='(')cout<<'$';
			else if(a[i]==')')cout<<'?';
			else cout<<' ';
		}
		cout<<endl;
	}
	return 0;
}
int main()
{
	char a[120], a_cout[120] = {0}, b;
	int num[120] = {0};
	int i, j, k;
	while (cin.get(a[0]))
	{
		num[0] = 0;
		for (i = 1; i < 120; i++)
		{
			a[i] = 0;
			num[i] = 0;
		}
	for (i = 0; ; i++)
	{
        if (i != 0)
			cin.get(a[i]);
		if (a[i] == '\n')
			break;
		else
		{
			if (a[i] == '(')
			{
				num[i] = 1;
			}
			if (a[i] == ')')
			{
				num[i] = 2;
			}
		}
	}
	for (j = 0; j < i; j++)
	{
		if (a[j] == ')')
		{
			for (k = j - 1; k >= 0; k--)
			{
				if (a[k] == '(' && num[k] != 0)
				{
					num[k] = 0;
					num[j] = 0;
					break;
				}
			}
		}
	}
	for (j = 0; j < i; j++)
	{
		cout << a[j];
	}
    cout << endl;
	for (j = 0; j < i; j++)
	{
		if (num[j] == 0)
			cout << " ";
		if (num[j] == 1)
			cout << "$";
		if (num[j] == 2)
			cout << "?";
	}
	cout <<endl;
	}
	return 0;
}
/*
 *????match.cpp
 *??????
 *?????2012-11-27
 *???????????
 */



int len; // ?????
char st[101],ans[101]; // st????ans???

int work(int pos) // ??pos????????????????????
{
    for (int i=pos+1;i<len;i++)
        if (st[i]=='(') i=work(i); // ??
        else
            if (st[i]==')')
            {
                ans[pos]='('; // ????
                ans[i]=')';
                return i;
            }
    return len-1; // ???
}

int main()
{
    int i;
    while (cin >> st) // ??
    {
        cout << st << endl; // ??
        len=strlen(st);
        memset(ans,0,sizeof(ans)); // ???
        for (i=0;i<len;i++)
            if (st[i]=='(') i=work(i); // ??????
        for (i=0;i<len;i++)
            switch (st[i])
            {
                case '(':ans[i]=(ans[i]=='(') ? ' ' : '$';break; // ????
                case ')':ans[i]=(ans[i]==')') ? ' ' : '?';break;
                default :ans[i]=' ';
            }
        cout << ans << endl; // ??
    }
    return 0;
}
main()
{
      int i,j,k,len=0;
      char a[1000];
      char b[1000];
      while(gets(a)!=NULL)
      {
           len=strlen(a);
           for(i=0;i<len;i++) 
           {
                b[i]='c';                
           } 
           b[i]='\0';
           for(i=len-1;i>=0;i--)
           {
                if(a[i]!='('&&a[i]!=')')
                b[i]=' ';
                else if(a[i]==')'&&b[i]!=' ') 
                b[i]='?'; 
                else if(a[i]=='(')
                {
                     if(i==len-1)
                     b[i]='$';
                     else
                    {
                          for(j=i+1;j<len;j++)
                          {
                               if(a[j]==')'&&b[j]!=' ') 
                               {b[j]=' ';b[i]=' ';break;}              
                          }
                          if(j==len)
                           b[i]='$';
                    }
                }            
           }  
           //puts(a);
           //puts(b);
           for(i=0;a[i]!='\0';i++)
           {printf("%c",a[i]);}
           printf("\n");
            for(i=0;a[i]!='\0';i++)
            {printf("%c",b[i]);}  
            printf("\n");   
      }
      getchar();
      getchar();
}
char x[1010] = "", tar[1010] = "";
int len = 0, ctr;

void F(int s){
	int i;
	for(i = s + 1;i < len;i++){
		if(x[i] == '(' && tar[i] == '$' && ctr)
			F(i);
		if(x[i] == ')' && tar[i] == '?'){
			tar[s] = tar[i] = ' ';
			ctr--;
			return;
		}
	}
	return;
}

int main(){
	int i;
	while(cin >> x){
		ctr = 0;
        cout << x << endl;
		len = strlen(x);
		for(i = 0;i < len;i++){
			if(x[i] == '(')
				tar[i] = '$';
			else if(x[i] == ')'){
				tar[i] = '?';
				ctr++;
			}
			else
				tar[i] = ' ';
		}
		tar[len] = '\0';
		for(i = 0;i < len - 1;i++){
			if(x[i] == '(' && tar[i] == '$' && ctr)
				F(i);
		}
		cout << tar << endl;
	}
	return 0;
}
int main()
{
	char str[101]={0};
	int pro[101]={0},j=0,p=0,q=0;
	while(gets(str))
	{
		for(int i=1;i<=strlen(str);i++)
		{
			if(str[i-1]!='('&&str[i-1]!=')')
			{
				pro[i-1]=2;
			}
			if(str[i-1]==')')
			{
				pro[i-1]=1;
				for(j=i-1;j>=1;j--)
				{
					if(str[j-1]=='('&&pro[j-1]==0)
					{
						pro[j-1]=1;
						break;
					}
				}
				if(j==0)
				{
					pro[i-1]=0;
				}
			}
		}
		cout<<str<<endl;
		for(p=strlen(str);p>=1;p--)
		{
			if(pro[p-1]==0)
			{
				break;
			}
		}
		for(q=1;q<=strlen(str);q++)
		{
			if(pro[q-1]==0)
			{
				break;
			}
		}
		for(int k=q;k<=p;k++)
		{
			if(str[k-1]=='('&&pro[k-1]==0)
			{
				cout<<"$";
			}
			else if(str[k-1]==')'&&pro[k-1]==0)
			{
				cout<<"?";
			}
			else
			{
				cout<<" ";
			}
		}
		cout<<endl;
		for(int clear=1;clear<=101;clear++)
		{
			str[clear-1]=0;
			pro[clear-1]=0;
		}
	}
	return 0;
}
int main()
{
	char c[max];   //??????????
	char s[max];
	int l;            //?????????
	int i,j;         //??????
	while(scanf("%s",c)!=EOF)
	{
	    l=strlen(c);       //???????
	    for(i=0;i<l;i++)    //???
	    {
	    	if(c[i]=='(')
	    		s[i]='$';
	    	else
	    		if(c[i]==')')
	    			s[i]='?';
	    		else
	    			s[i]=' ';
	    }
	    s[l]='\0';
	    for(i=0;i<l;i++)      //???????
	    {
	    	if(s[i]=='?')
	    	{
	    		for(j=i-1;j>=0;j--)
	    		{
	    			if(s[j]=='$')
	    			{
	    				s[j]=' ';
	    				s[i]=' ';
	    				break;
	    			}
	    		}
	    	}
	    }
	    printf("%s\n%s\n",c,s);
	}
	return 0;
}
char str[300];
void main()
{
	int i,j;
	while(scanf("%s",str)!=EOF)
	{
		int len=strlen(str);
		printf("%s\n",str);
		for(i=0;i<len;i++)
		{
			if(str[i]!='('&&str[i]!=')')
				str[i]=' ';
		}		
		for(i=0;i<len;i++)
		{
			int b=0;
            if(str[i]==')')
			{
				for(j=i-1;j>=0;j--)
				{
					if(str[j]=='(')
					{
						str[j]=' ';
						str[i]=' ';
						b=1;
						break;
					}
				}
				if(b==0)
					str[i]='?';
			}
		}
		for(i=0;i<len;i++)
		{
			if(str[i]=='(')
				str[i]='$';
			if(str[i]==')')
				str[i]='?';
		}
		printf("%s\n",str);
	}
}
void f(char c[],char str[],int n)
{
	int a,i,j;
	for(i=0;i<=n-1;i++)
	{
		if(c[i]=='(')
		{
			a=1;
			for(j=i+1;j<=n-1;j++)
			{
				if(c[j]=='(') a++;
				else if(c[j]==')') a--;
				if(a==0) break;
			}
			if(a>0) str[i]='$';
		}
		if(c[i]==')')
		{
			a=-1;
			for(j=i-1;j>=0;j--)
			{
				if(c[j]==')') a--;
				else if(c[j]=='(') a++;
				if(a==0) break;
			}
			if(a<0) str[i]='?';
		}
	}
}
int main()
{
	int r=0;
	while(r<=5)
	{
		char c[110]={0},str[110]={0};
		int n,i;
		gets(c);
		n=strlen(c);
		for(i=0;i<=n-1;i++)
			str[i]=' ';
		f(c,str,n);
		puts(c);
		puts(str);
		r++;
	}
	return 0;
}
int main()
{	int i,j,len,n,left=0,right=0,k;
	char a[10][101]={"\0"};
	int b[10][101]={0};
	scanf("%d\n",&n);
	for(i=0;i<n;i++)
	{
		gets(a[i]);
		len=strlen(a[i]);
		for(j=0;j<len;j++)
		{
			if(a[i][j]=='(')
			{
				b[i][j]=-1;
				left++;
			}
			if(a[i][j]==')')
			{
				b[i][j]=1;
				right++;
			}
		}
		
		
	
			for(j=0;left!=0,right!=0,j<len;j++)
			{
				if(b[i][j]==1)
				{
				
					for(k=j-1;k>=0;k--)
					{
						if(b[i][k]==-1)
						{
							b[i][k]=0;
							b[i][j]=0;
							left--;
							right--;
							break;
						}
					}
				}
			}
	}
	
	

	for(i=0;i<n;i++)
	{
		puts(a[i]);
		len=strlen(a[i]);
		for(j=0;j<len;j++)
			{
				if(b[i][j]==-1)
					printf("$");
				if(b[i][j]==1)
					printf("?");
				if(b[i][j]==0)
					printf(" ");
		}
		printf("\n");
	}
	
return 0;

}