#include <bits/stdc++.h>
using namespace std;
int main(int argc, char const *argv[]) {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  ;
  string g, h, r;
  cin >> g >> h >> r;
  map<char, int> trcK;
  map<char, int> rtrcK;
  for (int i = 0; i < g.size(); i++) {
    if (trcK.find(g[i]) != trcK.end())
      trcK[g[i]] += 1;
    else
      trcK[g[i]] = 1;
  }
  for (int i = 0; i < h.size(); i++) {
    if (trcK.find(h[i]) != trcK.end())
      trcK[h[i]] += 1;
    else
      trcK[h[i]] = 1;
  }
  for (int i = 0; i < r.size(); i++) {
    if (rtrcK.find(r[i]) != rtrcK.end())
      rtrcK[r[i]] += 1;
    else
      rtrcK[r[i]] = 1;
  }
  for (auto e : rtrcK) {
    if (trcK.find(e.first) == trcK.end()) {
      cout << "NO\n";
      return 0;
    } else if (trcK[e.first] != e.second) {
      cout << "NO\n";
      return 0;
    }
  }
  for (auto e : trcK) {
    if (rtrcK.find(e.first) == rtrcK.end()) {
      cout << "NO\n";
      return 0;
    } else if (rtrcK[e.first] != e.second) {
      cout << "NO\n";
      return 0;
    }
  }
  cout << "YES\n";
  return 0;
}
