#include <bits/stdc++.h>
using namespace std;
const long long int huge = 1e17;
long long int max(long long int a, long long int b) {
  if (a > b) return a;
  return b;
}
long long int min(long long int a, long long int b) {
  if (a < b) return a;
  return b;
}
long long int abbs(long long int a, long long int b) {
  if (a - b < 0) return b - a;
  return a - b;
}
long long int lowerB(vector<long long int> &v, long long int val) {
  long long int ind = v.size(), l = 0, r = v.size(), mid;
  while (l <= r) {
    mid = (l + r) / 2;
    if (v[mid] >= val) {
      ind = mid;
      r = mid - 1;
    } else
      l = mid + 1;
  }
  return ind;
}
vector<long long int> zAlgo(string &s, long long int n) {
  vector<long long int> vc(n, 0);
  vc[0] = 0;
  long long int l = 0, r = 0;
  for (long long int i = 1; i < n; i++) {
    if (i > r) {
      l = i;
      r = i;
      while (r < n && s[r] == s[r - i]) r++;
      r--;
      vc[i] = r - l + 1;
    } else {
      long long int j = i - l;
      if (vc[j] < r - i + 1) {
        s[i] = s[j];
      } else {
        l = i;
        while (s[r] == s[r - l] && r < n) r++;
        r--;
        vc[i] = r - l + 1;
      }
    }
  }
  return vc;
}
void solve() {
  string a, b;
  cin >> a >> b;
  long long int bn = b.length();
  vector<long long int> cnta(2), cntb(2);
  for (char c : a) cnta[c - '0']++;
  for (char c : b) cntb[c - '0']++;
  if (cnta[0] < cntb[0] || cnta[1] < cntb[1]) {
    cout << a;
    return;
  }
  string ans = b;
  cnta[0] -= cntb[0], cnta[1] -= cntb[1];
  vector<long long int> z = zAlgo(b, b.length());
  long long int longest = 0;
  for (long long int i = 1; i < bn; i++) {
    if (z[i] + i == bn) {
      longest = z[i];
      break;
    }
  }
  string left = b.substr(longest, bn - longest);
  vector<long long int> cl(2);
  for (char x : left) cl[x - '0']++;
  while (cnta[0] >= cl[0] && cnta[1] >= cl[1]) {
    ans += left;
    cnta[0] -= cl[0];
    cnta[1] -= cl[1];
  }
  for (long long int i = 0; i < cnta[0]; i++) ans += '0';
  for (long long int i = 0; i < cnta[1]; i++) ans += '1';
  cout << ans;
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long int t;
  t = 1;
  while (t--) {
    solve();
  }
}
