#include <bits/stdc++.h>
using namespace std;
const int MAXN = 210;
string a, b;
int n, m, dp[MAXN][MAXN][MAXN];
int solve(int i, int j, int k, bool print) {
  if (k < 0 || k >= MAXN) return 1e9;
  int& DP = dp[i][j][k];
  if (DP != -1 && !print) return DP;
  if (i == n && j == m && k == 0) return DP = 0;
  int open;
  if (i == n && j == m)
    open = 1e9;
  else
    open = solve(i + (a[i] == '('), j + (b[j] == '('), k + 1, false);
  int close = solve(i + (a[i] == ')'), j + (b[j] == ')'), k - 1, false);
  DP = min(open, close) + 1;
  if (!print) return DP;
  if (open < close) {
    cout << '(';
    solve(i + (a[i] == '('), j + (b[j] == '('), k + 1, true);
  } else {
    cout << ')';
    solve(i + (a[i] == ')'), j + (b[j] == ')'), k - 1, true);
  }
  return DP;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> a >> b;
  n = a.size();
  m = b.size();
  a += '*';
  b += '*';
  for (int i = 0; i <= n; i++)
    for (int j = 0; j <= m; j++)
      for (int k = 0; k < MAXN; k++) dp[i][j][k] = -1;
  solve(0, 0, 0, true);
  return 0;
}
