#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  string s, t;
  cin >> s >> t;
  int s1 = s.size(), t1 = t.size();
  const int INF = 1000000000;
  int DP[s1 + 1][t1 + 1][s1 + t1];
  int P[s1 + 1][t1 + 1][s1 + t1][3];
  for (int i = 0; i <= s1; i++)
    for (int j = 0; j <= t1; j++)
      for (int k = 0; k < s1 + t1; k++) DP[i][j][k] = INF;
  DP[0][0][0] = 0;
  for (int i = 0; i <= s1; i++)
    for (int j = 0; j <= t1; j++) {
      for (int k = 0; k < t1 + s1 - 1; k++) {
        int ti = i + (i < s1 && s[i] == '('), tj = j + (j < t1 && t[j] == '(');
        if (DP[ti][tj][k + 1] > DP[i][j][k] + 1) {
          DP[ti][tj][k + 1] = DP[i][j][k] + 1;
          P[ti][tj][k + 1][0] = i;
          P[ti][tj][k + 1][1] = j;
          P[ti][tj][k + 1][2] = k;
        }
      }
      for (int k = t1 + s1 - 1; k >= 1; k--) {
        int ti = i + (i < s1 && s[i] == ')'), tj = j + (j < t1 && t[j] == ')');
        if (DP[ti][tj][k - 1] > DP[i][j][k] + 1) {
          DP[ti][tj][k - 1] = DP[i][j][k] + 1;
          P[ti][tj][k - 1][0] = i;
          P[ti][tj][k - 1][1] = j;
          P[ti][tj][k - 1][2] = k;
        }
      }
    }
  string r = "";
  int a = s1, b = t1, c = 0;
  while (a || b || c) {
    int nA = P[a][b][c][0], nB = P[a][b][c][1], nC = P[a][b][c][2];
    r = (nC < c ? "(" : ")") + r;
    a = nA;
    b = nB;
    c = nC;
  }
  cout << r << endl;
}
