#include <bits/stdc++.h>
using namespace std;
vector<int> prefix_function(string s) {
  int n = (int)s.length();
  vector<int> pi(n);
  for (int i = 1; i < n; ++i) {
    int j = pi[i - 1];
    while (j > 0 && s[i] != s[j]) j = pi[j - 1];
    if (s[i] == s[j]) ++j;
    pi[i] = j;
  }
  return pi;
}
int main() {
  ios_base::sync_with_stdio(0);
  int kol1 = 0, kol2 = 0;
  string s1, s2;
  cin >> s1 >> s2;
  vector<int> pref = prefix_function(s2);
  for (int i = 0; i < s1.size(); i++)
    if (s1[i] == '0')
      kol1++;
    else
      kol2++;
  string ans = "";
  int k = pref.back();
  for (int i = 0; i < s2.size(); i++) {
    if (s2[i] == '0') {
      if (kol1 == 0) {
        cout << s1;
        return 0;
      }
      ans += s2[i];
      kol1--;
    } else {
      if (kol2 == 0) {
        cout << s1;
        return 0;
      }
      ans += s2[i];
      kol2--;
    }
  }
  while (kol1 + kol2 > 0) {
    int fl = 0;
    if (s2[k] == '0') {
      if (kol1 == 0) break;
      ans += s2[k];
      fl = 1;
      kol1--;
    } else {
      if (kol2 == 0) break;
      ans += s2[k];
      fl = 1;
      kol2--;
    }
    if (fl == 0) break;
    k++;
    if (k == s2.size()) k = pref.back();
  }
  while (kol1 > 0) {
    ans += '0';
    kol1--;
  }
  while (kol2 > 0) {
    ans += '1';
    kol2--;
  }
  cout << ans;
}
