#include <bits/stdc++.h>
using namespace std;
vector<long long int> fact(1000007);
inline long long int mdpower(long long int a, long long int b) {
  long long int res = 1;
  while (b) {
    if (b & 1) res = (res % 1000000007 * a % 1000000007) % 1000000007;
    b /= 2;
    a = (a % 1000000007 * a % 1000000007) % 1000000007;
  }
  return res;
}
inline long long int power(long long int a, long long int b) {
  long long int res = 1;
  while (b) {
    if (b & 1) res = (res * a);
    b /= 2;
    a = a * a;
  }
  return res;
}
inline void factorial() {
  fact[0] = 1;
  for (long long int i = 1; i < 1000007; i++)
    fact[i] = (fact[i - 1] % 1000000007 * i % 1000000007) % 1000000007;
}
inline long long int inverse(long long int a) {
  return mdpower(a, 1000000007 - 2);
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  string s, t;
  cin >> s >> t;
  long long int m = t.size();
  long long int lps[m];
  lps[0] = 0;
  long long int i = 1;
  long long int len = 0;
  while (i < m) {
    if (t[i] == t[len]) {
      len++;
      lps[i] = len;
      i++;
    } else {
      if (len != 0) {
        len = lps[len - 1];
      } else {
        lps[i] = 0;
        i++;
      }
    }
  }
  long long int z = lps[m - 1];
  string temp = t.substr(z, m - z + 1);
  long long int x1 = 0;
  long long int x2 = 0;
  for (long long int i = 0; i < z; i++)
    if (t[i] == '1')
      x1++;
    else
      x2++;
  map<long long int, long long int> mp;
  for (long long int i = 0; i < s.size(); i++) mp[s[i] - '0']++;
  long long int counta = 0;
  long long int countb = 0;
  for (long long int i = 0; i < t.size(); i++)
    if (t[i] == '1')
      counta++;
    else
      countb++;
  if (mp[1] < counta or mp[0] < countb) {
    cout << s;
    return 0;
  } else {
    cout << t;
    mp[1] -= counta;
    mp[0] -= countb;
    while (mp[1] >= counta - x1 and mp[0] >= countb - x2) {
      cout << temp;
      mp[1] -= (counta - x1);
      mp[0] -= (countb - x2);
    }
    while (mp[1]--) cout << '1';
    while (mp[0]--) cout << '0';
  }
}
