#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  string s1, s2;
  cin >> s1 >> s2;
  int n = s1.size();
  int m = s2.size();
  pair<pair<int, int>, pair<int, char> > parent[n + 1][m + 1][205];
  int dp[n + 5][m + 5][205];
  for (int i = 0; i <= n; i++) {
    for (int j = 0; j <= m; j++) {
      for (int bal = 0; bal <= 200; bal++) {
        dp[i][j][bal] = 600;
      }
    }
  }
  dp[0][0][0] = 0;
  for (int i = 0; i <= n; i++) {
    for (int j = 0; j <= m; j++) {
      for (int bal = 0; bal <= 200; bal++) {
        if (dp[i][j][bal] == 600) continue;
        int newI = i + (i < n && s1[i] == '(');
        int newJ = j + (j < m && s2[j] == '(');
        if (bal + 1 < 205 && dp[newI][newJ][bal + 1] > dp[i][j][bal] + 1) {
          dp[newI][newJ][bal + 1] = dp[i][j][bal] + 1;
          parent[newI][newJ][bal + 1] =
              make_pair(make_pair(i, j), make_pair(bal, '('));
        }
        newI = i + (i < n && s1[i] == ')');
        newJ = j + (j < m && s2[j] == ')');
        if (bal > 0 && dp[newI][newJ][bal - 1] > dp[i][j][bal] + 1) {
          dp[newI][newJ][bal - 1] = dp[i][j][bal] + 1;
          parent[newI][newJ][bal - 1] =
              make_pair(make_pair(i, j), make_pair(bal, ')'));
        }
      }
    }
  }
  int cBal = 0;
  for (int bal = 0; bal <= 200; bal++) {
    if (dp[n][m][bal] + bal < dp[n][m][cBal] + cBal) {
      cBal = bal;
    }
  }
  int ci = n, cj = m;
  string res = string(cBal, ')');
  while (ci > 0 || cj > 0 || cBal != 0) {
    int nci = parent[ci][cj][cBal].first.first;
    int ncj = parent[ci][cj][cBal].first.second;
    int ncBal = parent[ci][cj][cBal].second.first;
    res += parent[ci][cj][cBal].second.second;
    ci = nci;
    cj = ncj;
    cBal = ncBal;
  }
  reverse(res.begin(), res.end());
  cout << res << endl;
  return 0;
}
