#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
int i, length = 0;
char arr[101];
ifstream cin("data.txt");
while (cin >> arr)
{
length = strlen(arr); //获得字符串的长度
//cout << length;
char *flag = new char[length];
int *left = new int[length];
int right, lsum = 0, rsum = 0, j = 0; //left表示当前的最左括号位置下标,lsum表示左括号出现的次数
for (i = 0; i < length; i++)//开始判断
{
if (arr[i] == '(')
{
left[j++] = i; //左括号的位置
lsum++;
}
else if (arr[i] == ')')
{
right = i;
rsum++;
if (lsum < rsum) //右括号不匹配
{
flag[i] = '?';
rsum--;
}
else // 匹配
{
flag[left[--j]] = ' ';
flag[right] = ' ';
}
}
else
flag[i] = ' '; //字母
}
for (; j > 0; j--)//左括号不匹配,左括号多了
flag[left[j-1]] = '$';
cout << arr << endl;
for (i = 0; i < length; i++)
cout << flag[i];
cout << endl;
}//end of while
system("pause");
return 0;
}