So, the New Year holidays are over. Santa Claus and his colleagues can take a rest and have guests at last. When two "New Year and Christmas Men" meet, thear assistants cut out of cardboard the letters from the guest's name and the host's name in honor of this event. Then the hung the letters above the main entrance. One night, when everyone went to bed, someone took all the letters of our characters' names. Then he may have shuffled the letters and put them in one pile in front of the door.

The next morning it was impossible to find the culprit who had made the disorder. But everybody wondered whether it is possible to restore the names of the host and his guests from the letters lying at the door? That is, we need to verify that there are no extra letters, and that nobody will need to cut more letters.

Help the "New Year and Christmas Men" and their friends to cope with this problem. You are given both inscriptions that hung over the front door the previous night, and a pile of letters that were found at the front door next morning.

Input

The input file consists of three lines: the first line contains the guest's name, the second line contains the name of the residence host and the third line contains letters in a pile that were found at the door in the morning. All lines are not empty and contain only uppercase Latin letters. The length of each line does not exceed 100.

Output

Print "YES" without the quotes, if the letters in the pile could be permuted to make the names of the "New Year and Christmas Men". Otherwise, print "NO" without the quotes.

Examples

Input

SANTACLAUS
DEDMOROZ
SANTAMOROZDEDCLAUS


Output

YES


Input

PAPAINOEL
JOULUPUKKI
JOULNAPAOILELUPUKKI


Output

NO


Input

BABBONATALE
FATHERCHRISTMAS
BABCHRISTMASBONATALLEFATHER


Output

NO

Note

In the first sample the letters written in the last line can be used to write the names and there won't be any extra letters left.

In the second sample letter "P" is missing from the pile and there's an extra letter "L".

In the third sample there's an extra letter "L".
"""Template for Python Competitive Programmers prepared by Mayank Chaudhary aka chaudhary_19"""

# to use the print and division function of Python3
from __future__ import division, print_function

"""value of mod"""
MOD = 10 ** 9 + 7

"""use resource"""
# import resource
# resource.setrlimit(resource.RLIMIT_STACK, [0x100000000, resource.RLIM_INFINITY])

"""uncomment next 4 lines while doing recursion based question"""
# import threading
# threading.stack_size(2**27)
import sys

# sys.setrecursionlimit(10**6)

"""uncomment next 7 lines while doing nCr question"""
# fact=[1]
# for i in range(1,100001):
#    fact.append((fact[-1]*i)%mod)
# ifact=[0]*100001
# ifact[100000]=pow(fact[100000],mod-2,mod)
# for i in range(100000,0,-1):
#    ifact[i-1]=(i*ifact[i])%mod

"""uncomment modules according to your need"""
# from bisect import bisect_left as bl# c++ lowerbound bl(array,element)
# from bisect import bisect_right as br  # c++ upperbound
# import itertools
# import collections
# import math
# import heapq
# from random import randint as rn
# from Queue import Queue as Q

'''
def modinv(n, p):
    return pow(n, p - 2, p)
'''

'''
def ncr(n, r, p):  # for using this uncomment the lines calculating fact and ifact
    t = ((fact[n]) * ((ifact[r] * ifact[n - r]) % p)) % p
    return t
'''


def get_ints(): return map(int, sys.stdin.readline().strip().split())


def get_array(): return list(map(int, sys.stdin.readline().strip().split()))


def input(): return sys.stdin.readline().strip()


'''
def GCD(x, y):
    while (y):
        x, y = y, x % y
    return x
'''

"""*******************************************************"""


def main():

    string1 = input()
    string2 = input()
    string3 = input()

    mydict1 = dict()
    for i in string1:
        mydict1[i] = mydict1.get(i, 0)+1
    for i in string2:
        mydict1[i] = mydict1.get(i, 0)+1

    mydict2 = dict()
    for i in string3:
        mydict2[i] = mydict2.get(i, 0)+1

    if mydict1==mydict2:
        print('YES')
    else:
        print('NO')



""" -------- Python 2 and 3 footer by Pajenegod and c1729 ---------"""

py2 = round(0.5)
if py2:
    from future_builtins import ascii, filter, hex, map, oct, zip

    range = xrange

import os, sys
from io import IOBase, BytesIO

BUFSIZE = 8192


class FastIO(BytesIO):
    newlines = 0

    def __init__(self, file):
        self._file = file
        self._fd = file.fileno()
        self.writable = "x" in file.mode or "w" in file.mode
        self.write = super(FastIO, self).write if self.writable else None

    def _fill(self):
        s = os.read(self._fd, max(os.fstat(self._fd).st_size, BUFSIZE))
        self.seek((self.tell(), self.seek(0, 2), super(FastIO, self).write(s))[0])
        return s

    def read(self):
        while self._fill(): pass
        return super(FastIO, self).read()

    def readline(self):
        while self.newlines == 0:
            s = self._fill();
            self.newlines = s.count(b"\n") + (not s)
        self.newlines -= 1
        return super(FastIO, self).readline()

    def flush(self):
        if self.writable:
            os.write(self._fd, self.getvalue())
            self.truncate(0), self.seek(0)


class IOWrapper(IOBase):
    def __init__(self, file):
        self.buffer = FastIO(file)
        self.flush = self.buffer.flush
        self.writable = self.buffer.writable
        if py2:
            self.write = self.buffer.write
            self.read = self.buffer.read
            self.readline = self.buffer.readline
        else:
            self.write = lambda s: self.buffer.write(s.encode('ascii'))
            self.read = lambda: self.buffer.read().decode('ascii')
            self.readline = lambda: self.buffer.readline().decode('ascii')


sys.stdin, sys.stdout = IOWrapper(sys.stdin), IOWrapper(sys.stdout)
input = lambda: sys.stdin.readline().rstrip('\r\n')

""" main function"""

if __name__ == '__main__':
    main()
# threading.Thread(target=main).start()