#include <bits/stdc++.h>
using namespace std;
const long double pi = acos(-1);
const long long md = 1e9 + 7;
string s, t, t1, t2, ans, sb;
long long i, z, o, nz, no, z1, o1, zf[500501], l;
bool f;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  cin >> s;
  cin >> t;
  for (i = 0; i < s.size(); i++) {
    z += (s[i] == '0');
    o += (s[i] == '1');
  }
  for (i = 0; i < t.size(); i++) {
    z1 += (t[i] == '0');
    o1 += (t[i] == '1');
  }
  if (z < z1 || o < o1 || s.size() < t.size()) {
    cout << s << '\n';
    return 0;
  }
  t1 = t2 = t;
  for (i = 1; i < t.size(); i++) {
    if (t[i] == t[zf[i - 1]])
      zf[i] = zf[i - 1] + 1;
    else
      zf[i] = (t[i] == t[0]);
  }
  l = zf[t.size() - 1];
  for (i = l; i < t.size(); i++) {
    no += (t[i] == '1');
    nz += (t[i] == '0');
    sb += t[i];
  }
  z -= z1;
  o -= o1;
  ans += t;
  while (z >= nz && o >= no) {
    ans += sb;
    z -= nz;
    o -= no;
  }
  cout << ans;
  for (i = 1; i <= z; i++) cout << 0;
  for (i = 1; i <= o; i++) cout << 1;
  cout << '\n';
  return 0;
}
