#include<stdio.h>
#include<string.h>
int main()
{
    char str1[110],str2[110],str3[230],str4[230],temp;
    int i,j,m,n;
    gets(str1);
    gets(str2);
    gets(str3);
    strcpy(str4,str1);
    strcat(str4,str2);
    n=strlen(str4);
    //printf("%s\n",str4);
    for(i=0;i<n-1;i++)
    {
            for(j=i+1;j<n;j++)
            {
                if(str4[j]<str4[i])
                {
                    temp=str4[i];
                    str4[i]=str4[j];
                    str4[j]=temp;

                }
            }
    }
   // str4[n]='\n';
    m=strlen(str3);
    for(i=0;i<m-1;i++)
    {
            for(j=i+1;j<m;j++)
            {
                if(str3[j]<str3[i])
                {
                   temp=str3[i];
                str3[i]=str3[j];
                    str3[j]=temp;

                }
            }
    }
   // str3[m]='\n';
   //printf("%s\n",str4);
   //printf("%s\n",str3);
    if(strcmp(str3,str4)==0)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}

#include<stdio.h>
int main()
{
    char str1[105],str2[105];
    int i,j,temp=0,n,l,count=0;
    scanf("%s%s",&str1,&str2);
    char str3[220];
    scanf("%s",&str3);

    strcat(str1,str2);
    n=strlen(str1);
    l=strlen(str3);

    if(n==l)
    {

    for(i=0; i<=n; i++)
    {
        for(j=i+1; j<=n; j++)
        {
            if(str1[i]>str1[j])
            {
                temp=str1[i];
                str1[i]=str1[j];
                str1[j]=temp;
            }
        }

    }

    for(i=0; i<=l; i++)
    {
        for(j=i+1; j<=l; j++)
        {
            if(str3[i]>str3[j])
            {
                temp=str3[i];
                str3[i]=str3[j];
                str3[j]=temp;
            }
        }

    }
    j=0;
    for(i=0; i<=n; i++)
    {
        if(str1[i]==str3[j])
        {
            count++;
             j++;

        }

    }

    if(count-1==n)
        printf("YES");
    else
        printf("NO");
    }
    else
        printf("NO");

}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int isin(char alpha, char *s);

int main()
{
char str1[100];
char str2[100];
char str3[100];

scanf("%s", str1);
scanf("%s", str2);
scanf("%s", str3);

int pos;

int l1 = strlen(str1);
int l2 = strlen(str2);
int l3 = strlen(str3);
//printf("%d %d %d", l1, l2, l3);

if(l3 != (l1 + l2))
{
  //printf("UNEQUAL");
  printf("NO");
  //exit(0);
}
else
{

  for(int i = 0; i<l1; i++)
  {
      pos = isin(str1[i], str3);
      //printf("pos is: %d\n", pos);
      if(pos != -1)
          str3[pos] = 'a';
      else
      {
        printf("NO");
        exit(0);
      }
  }
  //printf("%s", str3);
  for(int i = 0; i<l2; i++)
  {
    pos = isin(str2[i], str3);
    //printf("pos is: %d\n", pos);
    if(pos != -1)
    {
      str3[pos] = 'a';
    }
    else
    {
      printf("NO");
      exit(0);
    }
  }
  //printf("%s", str3);
  int ans;
  for(int j = 0; j<l3; j++)
  {
      if(str3[j] != 'a')
      {
        ans = 0;
        break;
      }
      ans = 1;
  }
  if(ans)printf("YES");
  else printf("NO");
}

}

int isin(char alpha, char *s)
{
  for(int i = 0; s[i] != '\0'; i++)
  {
    if(s[i] == alpha)
        return i;
  }
  return -1;
}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

void triBulle(char temp[],int c){
 int i,j,tempi;
    for(i=0;i<c-1;i++){
       for(j=i;j<c;j++){
            if(temp[i]>temp[j]){
              tempi=temp[i];
              temp[i]=temp[j];
              temp[j]=tempi;
            }
         }
        }
}

int comparer(char temp[],char tab[],int c){
 int i,flag;
 for(i=0;i<c;i++){
    if(temp[i]==tab[i])
        flag=0;
    else return -1;
    if(i==c-1 && flag==0)
    return 0;
 }

}
int main(){
 char tab1[201];
 char tab2[101];
 char tab[201];
 char temp[201];
 int a,b,c,i,j,x;
 char tempi;
 scanf("%s %s %s",tab1,tab2,tab);
 a=strlen(tab1);b=strlen(tab2);c=strlen(tab);
 if(a+b>c||a+b<c){
    printf("NO");
 }
 else{
  for(i=0;i<a;i++){
    temp[i]=tab1[i];
  }
  for(i=0,j=a;i<b;i++,j++){
    temp[j]=tab2[i];
  }
  //trier temp et tab
 triBulle(temp,a+b);
 triBulle(tab,a+b);
 if(comparer(temp,tab,a+b)==0)
    printf("YES");
 else printf("NO");
 }

}

#include<stdio.h>
#include<string.h>
int main()
{
    int count=0;
    char a[1000], b[1000], c[1000],d[2000];
    scanf("%s", &a);
    scanf("%s", &b);
    scanf("%s", &c);

    strcat(a,b);

    for(int i=0;i<strlen(a);i++){
        int t;
        for(int j=i+1;j<strlen(a);j++){
            if(a[i]>a[j]){
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
    }

    for(int i=0;i<strlen(c);i++){
        int t;
        for(int j=i+1;j<strlen(c);j++){
            if(c[i]>c[j]){
                t=c[i];
                c[i]=c[j];
                c[j]=t;
            }
        }
    }

    if(strlen(a)==strlen(c)){
    for(int i=0;i<strlen(c);i++){
        if(a[i]==c[i]) count=1;
        else{
            count =0;
            break;
            }

        }
    }

    if(count == 1 ) printf("YES");
    else printf("NO");

    return 0;
}

#include<stdio.h>
#include<string.h>
int main(){
    int i,j,e=0,x,y,z;
    char a[101],b[101],c[202],d[202];
    scanf("%s%s%s",a,b,c);

    //c[strlen(c)]='\';

    for(i=0;i<strlen(c);i++){
        for(j=0;j<strlen(c);j++){
           if(c[i]<c[j]){
               x=c[j];
               c[j]=c[i];
               c[i]=x;
           }

        }
    }

      for(i=0;i<strlen(a)+strlen(b);i++){
      if(i<strlen(a)){
          d[i]=a[i];
      }
      else if(i==strlen(a) || i<strlen(a)+strlen(b)){
          d[i]=b[e];
          e++;
      }

    }

   // printf("%s\n",d);

      for(i=0;i<strlen(a)+strlen(b);i++){
        for(j=0;j<strlen(a)+strlen(b);j++){
           if(d[i]<d[j]){
               x=d[j];
               d[j]=d[i];
               d[i]=x;
           }

        }
    }
    y=strlen(c);
    z=strlen(a)+strlen(b);
   if(y!=z){
       printf("NO\n");
       return 0;
   }
   for(i=0;i<strlen(c);i++){
       if(c[i]!=d[i]){
           printf("NO\n");
           return 0;
       }

   }

   printf("YES\n");

}

#include<stdio.h>
#include<string.h>
int main()
{
    char a[101],b[101],c[205];
    int m,i,j,r=0;
    scanf("%s%s%s",a,b,c);
    strcat(a,b);
    m=strlen(c);
    for(i=0;i<m;i++)
    {
        for(j=0;j<m;j++)
        {
            if(a[i]==c[j])
            {
               r++;
               c[j]='0';
                break;
            }
        }
    }
    if(r==m) printf("YES");
    else printf("NO");
    return 0;

}

#include <stdio.h>
#include <string.h>
int main ()
{
    char a[200], b[200], c[200];
    int i, j; char temp;
    gets(a);
    gets(b);
    strcat(a,b);
    gets(c);
    int lena=strlen(a), lenc=strlen(c);
    for (i=0; i<lena; i++){
        for (j=i+1; j<lena; j++){
            if (a[i]>a[j]){
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }
    for (i=0; i<lenc; i++){
        for (j=i+1; j<lenc; j++){
            if (c[i]>c[j]){
                temp=c[i];
                c[i]=c[j];
                c[j]=temp;
            }
        }
    }
    if (strcmp(a,c)==0) printf ("YES");
    else printf ("NO");
    return 0;
}

#include <stdio.h>
#include <string.h>

int main()
{
    char name[101], host[101], ltr[101];
    int i, j, k;
    scanf("%s %s %s",name,host,ltr);
    for(i=0;i<strlen(name);i++)
    {
        k=0;
        for(j=0;j<strlen(ltr);j++)
        {
            if(name[i]==ltr[j])
            {
                ltr[j]='0';
                k=1;
                break;
            }
        }
        if(k==0){printf("NO\n"); return 0;}
    }
    for(i=0;i<strlen(host);i++)
    {
        k=0;
        for(j=0;j<strlen(ltr);j++)
        {
            if(host[i]==ltr[j])
            {
                ltr[j]='0';
                k=1;
                break;
            }
        }
        if(k==0){printf("NO\n"); return 0;}
    }
    for(i=0;i<strlen(ltr);i++)
    {
        if(ltr[i]!='0')
        {
            printf("NO\n"); return 0;
        }
    }
    printf("YES\n");
}

#include <stdio.h>
#include<string.h>
int main()
{
    char a[1000],b[1000],c[1000];
    int visit[10000];
    int l1,l2,l3,i,j,k,m,ct;

   while(gets(a))
   {
    gets(b);
    gets(c);
    l1=strlen(a);
    l2=strlen(b);
    l3=strlen(c);
    ct=0;
    memset(visit,0,sizeof visit);
    m=l1+l2;
    if(m!=l3)
        ct=1;
    else
    {

        for(i=0; i<l2; i++)
        {
            for(j=0; j<l3; j++)
            {
                if(b[i]==c[j])
                {
                    if(visit[j]!=1);
                    {
                      c[j]='*';
                    }
                    visit[j]=1;
                    break;
                    }
            }
        }
        memset(visit,0,sizeof visit);

        for(k=0; k<l1; k++)
        {
            for(i=0; i<l3; i++)
            {
                if(a[k]==c[i])
                {
                    if(visit[i]!=1)
                    c[i]='*';
                    visit[i]=1;
                    break;
                    }
            }
        }

        for(i=0;i<l3;i++)
        {
            if(c[i]!='*')
            {
                ct=1;
                break;
            }
        }
    }
    if(ct==1)
        printf("NO\n");
    else printf("YES\n");
}
return 0;
}

#include<stdio.h>
int count[26];
int copy[26];

void markChar(char in[], int mark[]){
	for(int j = 0; in[j] != '\0' && in[j] != '\n'; j++){
		mark[ in[j] - 'A'] += 1;
	}

}

int main(){
	char in[101];
	for(int i = 1; i < 3; i++){
		scanf("%s", in);
		markChar(in, count);
	}

	scanf("%s", in);
	markChar(in, copy);

	int i = 0;
	while(i < 26 && count[i] == copy[i]){
		i++;
	}

	if(i == 26){
		printf("YES\n");
	} else {
		printf("NO\n");
	}
	return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
	int i,j,n,le=0,chan=0,k,a,b;
	char s1[200],s2[101],s[101];
	scanf("%s",&s1);
	scanf("%s",&s2);
	scanf("%s",&s);
	strcat(s1,s2);
	a=strlen(s1);
	b=strlen(s);
	if (a != b){
	printf("NO");
	return 0;
	}
	for(i=0;i<a;i++)
	for(j=0;j<b;j++)
	if (s1[i] == s[j]){
		s[j] = '0';
		break;
	}
	for(i=0;i<b;i++)
	if (s[i] != '0'){
	printf("NO");
	return 0;
	}
	printf("YES");
	return 0;
}

#include<stdio.h>
#include<math.h>
#include<string.h>
#define ll long long int
int main()
{
    int i,j=0,ln1,ln2,ln3,ln4,k;
    char s1[101],s2[101],s3[101],s[101],temp;
    gets(s1);
    gets(s2);
    gets(s3);
    ln1=strlen(s1);
    ln2=strlen(s2);
    ln3=strlen(s3);
    ln4=ln1+ln2;
    if(ln3!=ln4)
    {
        printf("NO\n");
        return 0;
    }
    for(i=0; i<ln1; i++)
        s[i]=s1[i];
    for(i=ln1; i<ln4; i++)
    {
        s[i]=s2[j];
        j++;
    }
//    printf("%s\n",s);
    for(i=0; i<ln4-1; i++)
    {
        for(j=0; j<ln4-i-1; j++)
        {

            if(s[j]>s[j+1])
            {
                temp=s[j];
                s[j]=s[j+1];
                s[j+1]=temp;
            }
        }
    }
    for(i=0; i<ln3-1; i++)
    {
        for(j=0; j<ln3-i-1; j++)
        {
            if(s3[j]>s3[j+1])
            {
                temp=s3[j];
                s3[j]=s3[j+1];
                s3[j+1]=temp;
            }
        }
    }
//    printf("%s %s",s,s3)
    s[ln4]='\0';
    s[ln3]='\0';
    int result = strcmp(s, s3);
//   printf("%d",result);
    if(result==0)
    {
        puts("YES");
    }
    else
    {
        puts("NO");
    }

    return 0;
}

#include <stdio.h>

int main() {
	char word1[100]; char word2[100]; char word3[100];
	scanf("%s%s%s", word1, word2, word3);
	int dictionary1[26]={0}; int dictionary2[26]={0};

	for (int i=0; word1[i]!='\0'; i++) {
		dictionary1[word1[i]-65]++;
	}
	for (int i=0; word2[i]!='\0'; i++) {
		dictionary1[word2[i]-65]++;
	}
	for (int i=0; word3[i]!='\0'; i++) {
		dictionary2[word3[i]-65]++;
	}
	for (int i=0; i<26; i++) {
		if (dictionary1[i]!=dictionary2[i]) {
			printf("NO\n"); return 0;
		}
	}
	printf("YES\n");

	return 0;
}

#include <stdio.h>
#include <string.h>

int main() {
	char word1[250]; char word2[110];
	char word3[110];
	scanf("%s%s%s", word1, word2, word3);
	strcat(word1, word2);
	int check1[26]={0}; int check2[26]={0};

	for (int i=0; word1[i]!='\0'; i++) {
		check1[word1[i]-65]++;
	}
	for (int i=0; word3[i]!='\0'; i++) {
		check2[word3[i]-65]++;
	}
	for (int i=0; i<26; i++) {
		if (check1[i]!=check2[i]) {
			printf("NO\n"); return 0;
		}
	}
	printf("YES\n");

	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
	char s1[101],s2[101],s3[202];
	int c=0;

	scanf("%s%s%s",s1,s2,s3);

	for(int i=0; i<strlen(s1); i++)
	{
		for(int j=0; j<strlen(s3); j++)
		{
			if(s1[i] == s3[j])
			{
				c++;
				s3[j] = '*';
				break;
			}
		}
	}

	for(int i=0; i<strlen(s2); i++)
	{
		for(int j=0; j<strlen(s3); j++)
		{
			if(s2[i] == s3[j])
			{
				c++;
				s3[j] = '*';
				break;
			}
		}
	}

	if(c == strlen(s1)+strlen(s2) && c == strlen(s3) )
		printf("YES");
	else
		printf("NO");

	return 0;
}

#include<stdio.h>
int main()
{
    char a[1000],b[1000],c[1000];
    int i,j,k,temp,t=0;
    gets(a);
    gets(b);
    gets(c);
    strcat(a,b);
    strlen(a);
    for(i=0;i<strlen(a);i++)
    {
        for(j=0;j<strlen(a)-i-1;j++)
        {
            if(a[j]>a[j+1])
            {
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
    for(i=0;i<strlen(c);i++)
    {
        for(j=0;j<strlen(c)-i-1;j++)
        {
            if(c[j]>c[j+1])
            {
                temp=c[j];
                c[j]=c[j+1];
                c[j+1]=temp;
            }
        }
    }
    if(strlen(a)>strlen(c))
    {
        printf("NO");
    }
    else{
    for(i=0;i<strlen(c);i++)
    {
        if(a[i]==c[i])
            t++;
    }
    if(t==strlen(c))
    {
        printf("YES");
    }
    else printf("NO");
    }
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int cmp(const void *a, const void *b) {
  return *(const char *)a - *(const char *)b;
}

int main(void) {
  char names[500] = {0};
  char pile[500] = {0};
  char c, i = 0, f = 0;

  while((c = getchar()) != '\n') {
    names[i++] = c;
  }

  while((c = getchar()) != '\n') {
    names[i++] = c;
  }

  gets(pile);

  if(strlen(names) != strlen(pile)) {
    puts("NO");
    return 0;
  }

  qsort(names, strlen(names), sizeof(char), cmp);
  qsort(pile, strlen(pile), sizeof(char), cmp);

  i = c = 0;
  while(c < strlen(names) && i < strlen(pile)) {
    if(names[c] != pile[i]) {
      f = 1;
      break;
    }
    c++; i++;
  }
  puts(f ? "NO" : "YES");
  return 0;
}

#include<stdio.h>
int main()
{
	int c,i;
	int alp[26]={0};
	for(i=0;i<3;i++)
	{
		c=getchar();
		while(c!='\n')
		{
			alp[c-65]++;
			c=getchar();
		}
	}
	for(i=0;i<26;i++)
	{
		if(alp[i]%2!=0)
		{
			printf("NO\n");
			break;
		}
	}
	if(i==26)
		printf("YES\n");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int i,x=1,y=1,a;
    char s[100],t[100],r[100];
    scanf("%s%s%s",s,t,r);
    for(a=0;a<strlen(s);a++)
    {
    for(i=0;i<=strlen(r);i++)
    {
        if(s[a]==r[i])
        {
            x++;
            r[i]='*';
            break;
        }
        else if(i==strlen(r))
           x=0;
    }
    }
    for(a=0;a<strlen(t);a++)
    {
    for(i=0;i<strlen(r);i++)
    {
        if(t[a]==r[i])
            {
            y++;
            r[i]='*';
            break;
            }
        else if(i==strlen(r))
            y=0;
    }
    }
    if(x+y==strlen(r)+2)
        printf("YES");
    else
        printf("NO");
        return 0;
}

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
    char a[101],b[101],c[101];
    scanf("%s%s%s",&a,&b,&c);
    if(strlen(a)+strlen(b)==strlen(c))
    {
        int i,j=0;
        char* arr;
        arr=(char*)malloc(strlen(c)*sizeof(char));
        for(int i=0;i<strlen(c);i++)
        {
            if(i<strlen(a))
            {
                arr[i]=a[i];
            }
            else{
                arr[i]=b[j];
                j++;
            }
        }
        for(i=0;i<strlen(c)-1;i++)
        {
            for(j=0;j<strlen(c)-1-i;j++)
            {
                if(arr[j]<arr[j+1])
                {
                    char t=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=t;
                }
                if(c[j]<c[j+1])
                {
                    char t=c[j];
                    c[j]=c[j+1];
                    c[j+1]=t;
                }
            }
        }
        int count=0;
        for(i=0;i<strlen(c);i++)//why
        {
            if(arr[i]==c[i])
            {
                count++;
            }
        }
        if(count==strlen(c))
        {
            printf("YES");
        }
        else{
            printf("NO");
        }
    }
    else{
        printf("NO");
    }
    return 0;
}

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int a[30];
int main()
{
    int i,j,n;
    char s[105];
    memset(a,0,sizeof(a));
    scanf("%s",s);
    for(i=0;s[i];i++)
    {
        a[s[i]-'A']++;
    }
    scanf("%s",s);
    for(i=0;s[i];i++)
    {
        a[s[i]-'A']++;
    }
    scanf("%s",s);
    for(i=0;s[i];i++)
    {
        a[s[i]-'A']--;
    }
    int tag=1;
    for(i=0;i<30;i++)
    {
       if(a[i]!=0)
            tag=0;
    }
    if(tag)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}

#include <stdio.h>
#include <string.h>

#define N 100

int main() {
	static char aa[N + 1], bb[N + 1], cc[N + 1];
	static int kk[26];
	int a, b, c, i, x;

	scanf("%s%s%s", aa, bb, cc);
	a = strlen(aa);
	b = strlen(bb);
	c = strlen(cc);
	for (i = 0; i < c; i++)
		kk[cc[i] - 'A']++;
	for (i = 0; i < a; i++)
		kk[aa[i] - 'A']--;
	for (i = 0; i < b; i++)
		kk[bb[i] - 'A']--;
	for (x = 0; x < 26; x++)
		if (kk[x]) {
			printf("NO\n");
			return 0;
		}
	printf("YES\n");
	return 0;
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int ordena(const void* a, const void* b){
  char x = *((char*)a);
  char y = *((char*)b);

  if(x < y)
    return -1;
  return 1;
}

int main(){
  char n1[112];
  char n2[112];
  char n3[112];

  scanf("%s", n1);
  scanf(" %s", n2);
  scanf(" %s", n3);

  strcat(n1, n2);
  int x = strlen(n1);
  int y = strlen(n3);

  if(x != y){
    printf("NO\n");
    return 0;
  }

  qsort(n1, x, sizeof(n1[0]), ordena);
  qsort(n3, y, sizeof(n3[0]), ordena);

  int k = strcmp(n1,n3);

  if(k == 0){
    printf("YES\n");
  }
  else{
    printf("NO\n");
  }

  return 0;
}

#include <stdio.h>
#include <string.h>
void sort_t(char *str)
{
    int i;
    int j;
    char tmp;

    i = 0;
    while (str[i])
    {
        j = i + 1;
        while (str[j])
        {
            if (str[i] > str[j])
            {
                tmp = str[i];
                str[i] = str[j];
                str[j] = tmp;
            }
            j++;
        }
        i++;
    }
}
int main()
{
    char l1[10001], l2[10001], l3[10001], l12[10002];
    int i = -1,j = -1,k = -1;
    scanf("%s", l1);
    scanf("%s", l2);
    scanf("%s", l3);
    while (l1[++i])
        l12[i] = l1[i];
    while (l2[++j])
        l12[i + j] = l2[j];
    sort_t(l12);
    sort_t(l3);
    if (strcmp(l12, l3) == 0)
        printf("YES");
    else
        printf("NO");
    return (0);
}

#include<stdio.h>
#include<string.h>

int main()

{
    char fawra[102], dewra[102] , jabra[204] ;
    int bakso[26];

    int i , hisab=0 ;

    scanf("%s",&fawra);
    scanf("%s",&dewra);
    scanf("%s",&jabra);

    i = 0;
    while(i<26)
    {
        bakso[i]=0;
        i++;
    }

    i =  0;

    while( i<strlen(fawra) )
    {
        bakso[fawra[i]-'A']++;
        i++;
    }

    for(i=0; i < strlen(dewra); i++)
    {
        bakso[dewra[i]-'A']++ ;
    }

    i = 0 ;

    while( i < strlen(jabra))
    {
        bakso[jabra[i]-'A']--;
        i++;
    }
    i = 0 ;
    while(i<26)
    {
        if(bakso[i]!=0)
        {
            hisab=1;
        }
        i++;
    }

    if(hisab==1)
    {
        printf("NO");
    }
    else
    {
        printf("YES");
    }

    return 0 ;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char str1[1000],str2[1000],str3[1000],temp;
    scanf("%s",&str1);
    scanf("%s",&str2);
    scanf("%s",&str3);
    strcat(str1,str2);
    int i,j,l1,l2,count=0;
    l1=strlen(str1);
    l2=strlen(str3);
    for(i=0; i<l1-1; i++)
    {
        for(j=0; j<l1-i-1; j++)
        {
            if(str1[j]>str1[j+1])
            {
                temp=str1[j+1];
                str1[j+1]=str1[j];
                str1[j]=temp;
            }
        }
    }
    for(i=0; i<l2-1; i++)
    {
        for(j=0; j<l2-i-1; j++)
        {
            if(str3[j]>str3[j+1])
            {
                temp=str3[j+1];
                str3[j+1]=str3[j];
                str3[j]=temp;
            }
        }
    }
    if(l1!=l2)
    {
        printf("NO");
        return 0;
    }
    else
    {
        for(i=0; i<l1; i++)
        {
            if(str1[i]==str3[i])
                count++;

        }
    }
    if(count==l1)
        printf("YES");
    else
        printf("NO");
}

#include <stdio.h>
#include<string.h>
int main()
{
    int n,m,t,i,j;
    char a[1000],b[1000],c[1000],d[1000];
    char ch1,ch2;
    gets(a);
    gets(b);
    gets(c);
    strcat(a,b);
    n=strlen(a);
    for(i=0; i<n; i++)
    {
        for(j=0; j<n; j++)
        {
            if(a[i]<=a[j])
            {
                ch1=a[i];
                a[i]=a[j];
                a[j]=ch1;
            }
            if(c[i]<=c[j])
            {
                ch2=c[i];
                c[i]=c[j];
                c[j]=ch2;
            }
        }
    }
    if(0==strcmp(a,c))
        printf("YES\n");

    else

        printf("NO\n");
    return 0;
}

#include <stdio.h>
#include <string.h>

int main()
{
    char a[101], b[101], c[101];
    int count1[26] = {}, count2[26] = {}, count3[26] = {}, i;

    scanf("%s %s %s", a, b, c);

    for(i=0; i<strlen(a); i++)
        count1[a[i]-'A']++;
    for(i=0; i<strlen(b); i++)
        count2[b[i]-'A']++;
    for(i=0; i<strlen(c); i++)
        count3[c[i]-'A']++;

    for(i=0; i<26; i++){
        if(count1[i] + count2[i] != count3[i]){
            printf("NO");
            return 0;
        }
    }
    printf("YES");

    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int i=0,k=0,j=0;
    char A[1000],B[1000],C[1000],d;
    scanf("%s %s %s",&A,&B,&C);
    strcat(A,B);
    k=strlen(A);
    j=strlen(B);
    if(j>k)
        k=j;
    for(i=0;i<k;i++)
    {
            for(j=i;j<k;j++)
            {
                if (A[i]>A[j])
                    {
                        d=A[i];
                        A[i]=A[j];
                        A[j]=d;
                    }
                if (C[i]>C[j])
                    {
                        d=C[i];
                        C[i]=C[j];
                        C[j]=d;
                    }
            }
    }
    k=strcmp(A,C);
    if(k==0)
        printf("YES\n");
    else printf("NO\n");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>

int main(){
	int sw = 0;
	int i = 0 , j = 0 , p = 0 ;
	char name1[1000];
	char name2[1000];
	char ans[2000];
	scanf("%s" , name1);
	scanf("%s" , name2);
	scanf("%s" , ans);

	for( i = 0 ; name1[i] ; i++ )
		;
	for( j = 0 ; name2[j] ; j++ )
		;
	for( p = 0 ; ans[p] ; p++ )
		;
	if( (i + j) != p ){
		printf("NO\n");
		exit(0);
	}
	for( int k = 0 ; k < i  ; k++ ){
		sw = 0;
		for( int l = 0 ; l < p  && sw == 0 ; l++ ){
			if( name1[k] == ans[l] ){
				ans[l] = '.';
				sw = 1;
			}
		}
		if( sw == 0 ){
			printf("NO\n");
			exit(0);
		}

	}

	for( int k = 0 ; k < j  ; k++ ){
		sw = 0;
		for( int l = 0 ; l < p && sw == 0 ; l++ ){
			if( name2[k] == ans[l] ){
				ans[l] = '.';
				sw = 1;
			}
		}
		if( sw == 0 ){
			printf("NO\n");
			exit(0);
		}
	}

	printf("YES\n");

}

#include<stdio.h>
int main()
{
    int i,t=0,t1=0,t2=0,j,k=0,l=0;
    char *a=malloc(100);
    gets(a);
    int a1=strlen(a);
    char *s=malloc(100);
    gets(s);
    int s1=strlen(s);
    char *b=malloc(200);
    b=strcat(a,s);
    char *as=malloc(200);
    gets(as);
    int as1=strlen(as);
    for(i=0;i<as1;i++)
    {
        for(j=0;j<a1+s1;j++)
        {
           if(as[i]==b[j] )
           {
               as[i]='0';
               b[j]='1';
               break;
           }
        }
    }
    for(i=0;i<as1;i++)
    {
        if(as[i]=='0')
        {
            k++;
        }
    }
    for(j=0;j<a1+s1;j++)
    {
        if(b[j]=='1')
        {
            l++;
        }
    }
    if(k==as1 && l==a1+s1)
    {
        printf("YES");
    }
    else
        printf("NO");

}

 #include<stdio.h>
 #include<string.h>
 int main()
 {
                          int i,j,len1,len3,c=0,d=0;
                          char s1[102],s2[102],s3[105];
                          scanf("%s",s1);
                          scanf("%s",s2);
                          scanf("%s",s3);

                            strcat(s1,s2);
                            len1=strlen(s1);
                            len3=strlen(s3);

                            if(len1!=len3)
                            {
                                printf("NO\n");
                                return 0;
                            }
                            else
                            {
                                for(i=0;i<len3;i++)
                                {
                                           for(j=0;j<len3;j++)
                                           {
                                               if(s1[i] == s3[j])
                                               {
                                                   c++;
                                                   s3[j] = '0';
                                                   break;
                                               }
                                           }

                                }
                            }
                            if(c== len3)
                            {
                                printf("YES\n");
                            }
                            else
                            {
                                printf("NO\n");
                            }

   return 0;

   }

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,len1,len2,temp1,temp2;
    char g[100],h[100],p[200],n[200];
    gets(g);
    gets(h);
    gets(p);
    if(strlen(g)+strlen(h)!=strlen(p)) printf("NO\n");
    else{
        strcpy(n,strcat(g,h));
    len1=strlen(n);
    len2=strlen(p);
    for (i = 0; i < len1-1; i++)
    {
        for (j = i+1; j < len1; j++)
        {
            if (n[i] > n[j])
            {
                temp1 = n[i];
                n[i] = n[j];
                n[j] = temp1;
            }
        }
    }
    for (i = 0; i < len2-1; i++)
    {
        for (j=i+1; j<len2; j++)
        {
            if (p[i] > p[j])
            {
                temp2 = p[i];
                p[i] = p[j];
                p[j] = temp2;
            }
        }
    }
    if(strcmp(p,n)==0)
        printf("YES\n");
    else
        printf("NO\n");
    }

    return 0;
}

#include<stdio.h>
#include<string.h>
void bubble(int l, char s[]);

int main()
{
    int l,ll,i,j;
    char s1[202],s2[101],s3[101],b;

    scanf("%s %s %s",s1,s2,s3);
    strcat(s1,s2);
    l=strlen(s1);
    bubble(l,s1);
    ll=strlen(s3);
    bubble(ll,s3);
    if(strcmp(s1,s3)==0) printf("YES");
    else printf("NO");

    return 0;
}

void bubble(int l, char s[])
{
    int i,j;
    char b;

  for(i=0; i<l; i++){
        for(j=i+1; j<l; j++){
            if(s[i]>=s[j]){
                b=s[i];
                s[i]=s[j];
                s[j]=b;
            }
        }
    }

}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void) {
    char * guestNames = malloc(100);
    char * residenceHost = malloc(100);
    char * mergeNames = malloc(100);
    scanf("%s%s%s", guestNames, residenceHost, mergeNames);

    int * countBefore = malloc(26*sizeof(int));
    int * countAfter = malloc(26*sizeof(int));

    for(int i = 0; i < 26; i++){
    	countAfter[i] = 0;
    	countBefore[i] = 0;
    }

    for(int i = 0; i < strlen(guestNames); i++){
    	int index = guestNames[i] - 'A';
    	countBefore[index]++;
    }

    for(int i = 0; i < strlen(residenceHost); i++){
    	int index = residenceHost[i] - 'A';
    	countBefore[index]++;
    }

    for(int i = 0; i < strlen(mergeNames); i++){
    	int index = mergeNames[i] - 'A';
    	countAfter[index]++;
    }

    int result = 1;

    for(int i = 0; i < 26; i++){
    	if(countAfter[i] != countBefore[i])
    		result = 0;
    }

    if(result)
    	printf("%s\n", "YES");
    else
    	printf("%s\n", "NO");

    free(countBefore);
    free(countAfter);
    free(guestNames);
    free(residenceHost);
    free(mergeNames);
}

#include <stdio.h>
#include <string.h>

int Judge(char *a,char *b)
{
    int i,j,len1,len2,count=0;
    len1=strlen(a);
    len2=strlen(b);
    for (i=0; i<len1; i++)
        for (j=0; j<len2; j++)
            if (a[i]==b[j])
            {
                b[j]='~';
                count++;
                break;
            }
    return count;
}

int main()
{
    int i,len,count,num;
    char name[110],host[110],words[110];
    while(1)
    {
        count=0;num=0;
    if (gets(name)==NULL)
       break;
    if (gets(host)==NULL)
       break;
    if (gets(words)==NULL)
       break;
    len=strlen(words);
    count+=Judge(name,words);
    count+=Judge(host,words);
    for (i=0;i<len;i++)
    {
        if (words[i]=='~')
           num++;
    }
    if (strlen(name)+strlen(host)!=len)
    {
        printf("NO\n");
        continue;
    }
    if (num==strlen(name)+strlen(host))
    {
        printf("YES\n");
        continue;
    }
    if (count==len)
      printf("YES\n");
    else
      printf("NO\n");
    }
    return 0;
}

#include <stdio.h>

int main(){
char anfitrion[120];
char invitado[120];
char broma[150];
char aver[300];

int tam=0,tam1=0,tam2=0,total=0;
int x,b,v,c,l=0;
int pos=0,aux,p=0;

gets(anfitrion); tam=strlen(anfitrion);
gets(invitado);  tam1=strlen(invitado);
gets(broma); tam2=strlen(broma);

total=tam+tam1;

if(total==tam2){

for(x=0;x<total;x++){

    if(x<tam){aver[x]=anfitrion[x];}
    else{if(x>=tam){aver[x]=invitado[l];l++;} }
}

for(x=0;x<total;x++){

        pos=x;
        aux=aver[x];
        while((pos>0) && (aux<aver[pos-1])){

            aver[pos]=aver[pos-1];
            pos--;

        }
        aver[pos]=aux;
    }

    for(x=0;x<tam2;x++){

        pos=x;
        aux=broma[x];
        while((pos>0) && (aux<broma[pos-1])){

            broma[pos]=broma[pos-1];
            pos--;

        }
        broma[pos]=aux;
    }

    for(x=0;x<total;x++){
        if(p==0){
        if(aver[x]!=broma[x]){;p=1;}
                }
                       }

    if(p==1){printf("NO");}
    else{printf("YES");}

}

else{printf("NO");}

}

#include<stdio.h>
int glb[28];

char cat(char arra[],char barra[])
{
    int i,j,k,l;
    i=0;
    j=0;
    while(arra[i]){
        i++;
        }
    while(barra[j]){
        arra[i]=barra[j];
        j++;
        i++;}
    arra[i]='\0';
    return arra;
    }
int len(char arra[]){
    int i;
    i=0;
    while(arra[i]){
        i++;
    }
    return i;}
int main()
{
    int i,k,l1,l2;
    char str1[210];
    char str2[102];
    char sum[102];
    scanf("%s",str1);
    scanf("%s",str2);
    scanf("%s",sum);
    cat(str1,str2);
    l1=len(str1);
    l2=len(sum);

    if(l1==l2){

        for(i=0;i<l1;i++){
            k=str1[i]-'A';
            glb[k]=glb[k]+1;

        }
        for(i=0;i<l2;i++){
            k=sum[i]-'A';
            glb[k]=glb[k]-1;
        }
        for(i=0;i<26;i++){
            if(glb[i]!=0){
                printf("NO");
                break;
                }
            }
        if(i==26)printf("YES");
        }
    else printf("NO");
    return 0;

    }

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int cmp(const void*a,const void*b)
{
    return (*(char*)a) - (*(char*)b);
}
int main(void)
{
    char str1[1000],str2[1000],str3[1000];
    int i;
    gets(str1);
    gets(str2);
    gets(str3);
    strcat(str1,str2);
    qsort(str1,strlen(str1),sizeof(char),cmp);
    qsort(str3,strlen(str3),sizeof(char),cmp);
    if(strcmp(str1,str3) == 0)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char a[200];
    char b[200];
    char c[200];
    int ln,temp,i,j,result;
    gets(a);
    gets(b);
    gets(c);
    strcat(a,b);
    ln=strlen(a);
    for(i=0;i<ln;i++){
        for(j=i+1;j<ln;j++){
            if(a[i]>a[j]){
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }
    for(i=0;i<ln;i++){
        for(j=i+1;j<ln;j++){
            if(c[i]>c[j]){
                temp=c[i];
                c[i]=c[j];
                c[j]=temp;
            }
        }
    }
    if((result=strcmp(a,c))==0){
        printf("YES");
    }
    else{
        printf("NO");
    }
    return 0;

}

#include <stdio.h>
#include <string.h>
int cmp(void *p, void *q);
int main(void){
	char a[220];
	char b[120];
	char c[120];
	gets(a);
	gets(b);
	gets(c);
	strcat(a,b);
	qsort(a,strlen(a),sizeof(char),cmp);
	qsort(c,strlen(c),sizeof(char),cmp);
	printf("%s",strcmp(a,c)==0?"YES":"NO");
	return 0;
}

int cmp(void *p, void *q){
	return (*(char *)p)-(*(char *)q);
}

#include <stdio.h>
#include <string.h>
#include <stdbool.h>
#include <stdlib.h>

int len(char a[]){
    int i;
    for(i = 0; a[i] != '\0'; ++i);
    return i;
}
int merge(char *a, int first, int mid, int last){

    int length1, length2;
    length1 = mid - first + 1;
    length2 = last - mid;

    int left[length1+1000], right[length2+1000];
    int i,j,k;

    for(i = 0; i < length1; i++){
        left[i] = a[first+i];
    }
    for(j = 0; j < length2; j++){
        right[j] = a[mid+j+1];
    }

    left[i] = 2147483647;
    right[j] = 2147483647;

    i = 0;
    j = 0;
    k = first;

    for(k = first; k <= last; k++){
        if(left[i] <= right[j]){
            a[k] = left[i];
            i++;
        } else {
            a[k] = right[j];
            j++;
        }

    }

return *a;

}

int merge_sort(char *a, int first, int last){

    int mid = 0;

    if (first<last){
        mid = (first + last)/ 2;
        merge_sort(a,first,mid);
        merge_sort(a,mid+1,last);
        merge(a,first,mid,last);
    }

return *a;

}

bool exists(char pile[], int tam, int elem){

    bool r = false;
    int i;
    for (i = 0; i < tam && r; i++){
        if(pile[i]==elem){
            r = true;
            break;
        }
    }

    return !r;
}

int main(int argc, char const *argv[]){

    char guest[500];
    char residence[500];
    char pile[500];
    bool r = true;
    bool s = false;
    char big_array[500];
    int i = 0;
    int j = 0;
    int t = 0;

    scanf("%s", &guest);
    scanf("%s", &residence);
    scanf("%s", &pile);

    if((len(guest)+len(residence)) == len(pile)){
        s = true;
    }

    while(i < (len(guest)+len(residence))){
        if(i < len(guest)){
            big_array[i] = guest[j];
            j++;
        }else if(i >= len(guest)){
            big_array[i] = residence[t];
            t++;
        }
        i++;
    }

    merge_sort(big_array,0,(len(guest)+len(residence))-1);
    merge_sort(pile,0,len(pile)-1);

    for (i = 0; i < len(pile); i++){
        r = r && (pile[i] == big_array[i]);
    }

if (r && s){
    printf("YES");
} else {
    printf("NO");
}

    return 0;
}

#include<stdio.h>

#include<string.h>

int main()
{
    char st1[500],st2[500],st3[500],temp;
    int i,j,x;
    gets(st1);
    gets(st2);
    gets(st3);
    for(i=strlen(st1),j=0; i<strlen(st1)+strlen(st2); i++,j++)
    {
        st1[i]=st2[j];
    }
    if(strlen(st1)==strlen(st3))
    {
        for(i=0; i<strlen(st3)-1; i++)
        {
            for(j=0; j<strlen(st3)-1-i; j++)
            {
                if(st1[j]>st1[j+1])
                {
                    temp=st1[j];
                    st1[j]=st1[j+1];
                    st1[j+1]=temp;
                }
            }
        }
        //puts(st3);
        for(i=0; i<strlen(st3)-1; i++)
        {
            for(j=0; j<strlen(st3)-1-i; j++)
            {
                if(st3[j]>st3[j+1])
                {
                    temp=st3[j];
                    st3[j]=st3[j+1];
                    st3[j+1]=temp;
                }
            }
        }
        //puts(st3);
        x=strcmp(st1,st3);
        if(x==0)
        {
            printf("YES");
            return 0;
        }
        else
        {
            printf("NO");
            return 0;
        }
    }

    else
        printf("NO");
    //puts(st1);

    return 0;

}

#include<stdio.h>
#include<string.h>
int main()
{
	int i,j,t=0;
	char temp;
	char g[100];
	char r[100];
	char p[100];
	gets(g);
	gets(r);
	gets(p);
	if(strlen(g)+strlen(r)!=strlen(p))
	printf("NO");
	else
	{
		strcat(g,r);
		for(i =0;i<strlen(g);i++)
		{
			for(j=i;j<strlen(g);j++)
			{
				if(g[i]>g[j])
				{
					temp = g[i];
					g[i] = g[j];
					g[j] = temp;
				}
			}
		}
		for(i=0;i<strlen(p);i++)
		{
			for(j=i;j<strlen(p);j++)
			{
				if(p[i]>p[j])
				{
					temp = p[i];
					p[i] = p[j];
					p[j] = temp;
				}
			}
		}
		for(i=0;i<strlen(g);i++)
		{
			if(g[i]!=p[i])
				t=1;
		}
		if(t==1)
			printf("NO");
		else
			printf("YES");
	}
	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char str1[202],str2[101],str3[101],temp;
    int i,j,l,find,l3;
    find=1;
    scanf("%s",str1);
    scanf("%s",str2);
    scanf("%s",str3);

    strcat(str1,str2);

    l=strlen(str1);
    l3=strlen(str3);

    for(i=0;i<l;i++){
        for(j=i+1;j<l;j++){
            if(str1[i] > str1[j]){
                temp=str1[i];
                str1[i]=str1[j];
                str1[j]=temp;
            }

        }
    }

    for(i=0;i<l;i++){
        for(j=i+1;j<l;j++){
            if(str3[i] > str3[j]){
                temp=str3[i];
                str3[i]=str3[j];
                str3[j]=temp;
            }

        }
    }
    if(l==l3){
        for(i=0;i<l;i++){
            for(j=i;j<=i;j++){
                if(str1[i]!=str3[j]){
                    find=0;
                    break;
                }
            }
        }
        if(find==1){
            printf("YES\n");
        }
        else
            printf("NO\n");
    }
    else
        printf("NO\n");
    return 0;
}

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
    int i,j,k,l,n,m;

    char a[102];
    char b[102];
    char c[102];
    gets(a);gets(b);gets(c);

    if(strlen(a) + strlen(b) != strlen(c)) printf("NO");

    else {
        for(i=0;i<strlen(a);i++){
            n=0;
            for(j=0;j<strlen(c);j++){
                if(a[i] == c[j]){
                    c[j] = '0';
                    n=1;
                    break;
                }
            }
            if(n != 1) break;
        }
        if(n != 1) printf("NO");
        else {
            for(k=0;k<strlen(b);k++){
                m=0;
                for(l=0;l<strlen(c);l++){
                    if(b[k] == c[l]){
                        c[l] = '0';
                        m=1;
                        break;
                    }
                }
                if(m != 1) break;
            }
            if(m != 1) printf("NO");
            else printf("YES");
        }

    }
    //printf("\n%s",c);

    return 0;

}

#include<stdio.h>
#include<string.h>
void in(char a[],int x[])
{
 int l,i;
 l=strlen(a);
 for(i=0;i<l;i++)
  x[a[i]-'A']++;
}
int main()
{
 char a[105],b[105],c[105];
 int x[26]={0},y[26]={0},flag=1,i;
 gets(a);
 in(a,x);
 gets(b);
 in(b,x);
 gets(c);
 in(c,y);
 for(i=0;i<26;i++)
  if(x[i]!=y[i])
  {
   flag=0;
   break;
  }
  if(flag)printf("YES\n");
  else
   printf("NO\n");
  return 0;

}

#include<stdio.h>
int main()
{
 int l,i,j;
 char s1[101],s[201],s2[101],temp;
 scanf("%s %s %s",s1,s2,s);
 strcat(s1,s2);
 l=strlen(s1);
 for(i=0;i<l-1;i++){
    for(j=i+1;j<l;j++){
        if(s1[i]>s1[j]){
        temp=s1[i];
        s1[i]=s1[j];
        s1[j]=temp;
        }
    }
 }
 l=strlen(s);
 for(i=0;i<l-1;i++){
    for(j=i+1;j<l;j++){
        if(s[i]>s[j]){
        temp=s[i];
        s[i]=s[j];
        s[j]=temp;
        }
    }
 }
 if(strcmp(s1,s)==0)
    printf("YES\n");
 else
    printf("NO\n");

 return 0;
}

#include<stdio.h>

#include<string.h>
int main()
{
    char a[200];
    char b[200];
    char c[200];
    char temp;
    int x,y,z,i,j,s=0,s1=0,s2=0,ck,ln;
    gets(a);
    gets(b);
    gets(c);
    strcat(a,b);
    ln=strlen(a);
    for(i=0;i<ln;i++)
        {
        for(j=1;j<ln;j++)
    {
        if(a[i]>a[j])
            {
       temp=a[i];
       a[i]=a[j];
       a[j]=temp;
    }
    }
        }
     for(i=0;c[i]!='\0';i++)
        {
        for(j=1;c[j]!='\0';j++)
    {
        if(c[i]>c[j])
            {
       temp=c[i];
       c[i]=c[j];
       c[j]=temp;
    }
    }
        }
        if((ck=(strcmp(a,c)))==0)

   {
      printf("YES\n");
   }
   else
   {
       printf("NO\n");
   }
   return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int n, i, len1, len2, j, x, count=0, flag;
    char s1[101], s2[101], s3[202], c[202], temp;
    scanf("%s", s1);
    scanf("%s", s2);
    scanf("%s", s3);

    strcpy(c, s2);
    strcat(c, s1);
    len1=strlen(s3);
    len2=strlen(c);

    if(len1!=len2){
        printf("NO");
        return 0;
    }

    for(i=0;i<len1-1;i++){
        for(j=0;j<len1-i-1;j++){
            if(s3[j]>s3[j+1]){
                temp=s3[j];
                s3[j]=s3[j+1];
                s3[j+1]=temp;
            }
        }
    }
    for(i=0;i<len2-1;i++){
        for(j=0;j<len2-i-1;j++){
            if(c[j]>c[j+1]){
                temp=c[j];
                c[j]=c[j+1];
                c[j+1]=temp;
            }
        }
    }
    flag=strcmp(s3,c);
    if(flag==0){
        printf("YES");
    }
    else{
        printf("NO");
    }

    return 0;
}

#include <stdio.h>

int main(){
char anfitrion[120];
char invitado[120];
char broma[150];
char aver[300];

int tam=0,tam1=0,tam2=0,total=0;
int x,b,v,c,l=0;
int pos=0,aux,p=0;

gets(anfitrion); tam=strlen(anfitrion);
gets(invitado);  tam1=strlen(invitado);
gets(broma); tam2=strlen(broma);

total=tam+tam1;

if(total==tam2){

for(x=0;x<total;x++){

    if(x<tam){aver[x]=anfitrion[x];}
    else{if(x>=tam){aver[x]=invitado[l];l++;} }

                    }

for(x=0;x<total;x++){

        pos=x;
        aux=aver[x];
        while((pos>0) && (aux<aver[pos-1])){

            aver[pos]=aver[pos-1];
            pos--;

        }
        aver[pos]=aux;
    }

    for(x=0;x<tam2;x++){

        pos=x;
        aux=broma[x];
        while((pos>0) && (aux<broma[pos-1])){

            broma[pos]=broma[pos-1];
            pos--;
                       }
            broma[pos]=aux;
        }

    for(x=0;x<total;x++){
        if(p==0){
        if(aver[x]!=broma[x]){p=1;}
                }
      }

    if(p==1){printf("NO");}
    else{printf("YES");}
}

else{printf("NO");}

}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int compare(const void * first, const void * second)
{
    if (*(char*)first > *(char *)second)
        return 1;
    else if (*(char*)first < *(char *)second)
        return -1;
    else
        return 0;
}

int main(void){
    char f[100];
    char s[100];
    char t[100];

    scanf("%s", f);
    scanf("%s", s);
    scanf("%s", t);

    if(strlen(f)+strlen(s) != strlen(t)){
        printf("NO");
        return 0;
    }

    strcat(f, s);

    qsort((char*)f, strlen(f), sizeof(char), compare);
    qsort((char*)t, strlen(t), sizeof(char), compare);

    if(strcmp(f, t)==0){
        printf("YES");
    }else{
        printf("NO");
    }
    return 0;
}

#include<stdio.h>
#include<string.h>
int  main(){
      char a[10000],b[10000];
      char c[100000];
      scanf("%s\n%s\n%s",a,b,c);
      int i,j;
      int count=0;
      for(i=0;i<strlen(a);i++){
            for(j=0;j<strlen(c);j++){
                  if(a[i]==c[j]){
                        count++;
                        c[j]='0';
                        break;
                  }
            }
      }
      for(i=0;i<strlen(b);i++){
            for(j=0;j<strlen(c);j++){
                  if(b[i]==c[j]){
                        count++;
                        c[j]='0';
                        break;
                  }
            }
      }
      if((strlen(c)==count)&&(strlen(a)+strlen(b)==strlen(c))){
            printf("YES\n");
      }
      else{
            printf("NO\n");
      }
      return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include<string.h>
int main()
{

//27......................A. Amusing Joke
char name1[100],name2[100],mix[200];
int i ,j,check=0;
gets (name1);
gets (name2);
gets (mix);

  for (j=0;j<strlen(name1);j++)
       {
        for (i=0;i<strlen(mix);i++)
           {
               if (name1[j]==mix[i])
               {
                   name1[j]='1';
                   mix[i]='1';
                   check++;
                   break;

               }
            }
        }

    for (j=0;j<strlen(name2);j++)
         {
         for (i=0;i<strlen(mix);i++)
           {
               if (name2[j]==mix[i])
               {
                    name2[j]='1';
                    mix[i]='1';
                    check++;
                    break;
               }
           }
        }
//printf("%s %s %s %i",name1,name2,mix,check);
if (check==strlen(mix)&&strlen(name1)+strlen(name2)==strlen(mix))
    printf("YES");
else
    printf("NO");

    return 0;
}

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<math.h>
int main()
{
    char a[100],b[100],c[200];
    int count1[26]={0},count2[26]={0},count3[26]={0},i,p;
    scanf("%s%s%s",a,b,c);
    for(i=0;i<strlen(a);i++)
    {
        p=a[i];
        p-=65;
        count1[p]++;
    }
    for(i=0;i<strlen(b);i++)
    {
        p=b[i];
        p-=65;
        count2[p]++;
    }
    for(i=0;i<strlen(c);i++)
    {
        p=c[i];
        p-=65;
        count3[p]++;
    }
    for(i=0;i<26;i++)
    {
        if(count3[i]!=(count1[i]+count2[i]))
        {
            printf("NO\n");
            return 0;
        }
    }
    printf("YES");
    printf("\n");
    return 0;
}

#include<stdlib.h>
#include<stdio.h>
#include<string.h>
int main()
{
    char a[100],b[100],c[200];
    int count1[26]={0},count2[26]={0},count3[26]={0},i,p;
    scanf("%s%s%s",a,b,c);
    for(i=0;i<strlen(a);i++)
    {
        p=a[i];
        p-=65;
        count1[p]++;
    }
    for(i=0;i<strlen(b);i++)
    {
        p=b[i];
        p-=65;
        count2[p]++;
    }
    for(i=0;i<strlen(c);i++)
    {
        p=c[i];
        p-=65;
        count3[p]++;
    }
    for(i=0;i<26;i++)
    {
        if(count3[i]!=(count1[i]+count2[i]))
        {
            printf("NO\n");
            return 0;
        }
    }
    printf("YES");
    printf("\n");
    return 0;
}

int main() {
	short letter_count[26]={0},i,j;
	char word[120];
	for(i=0;i<2;i++) {
		scanf("%s",word);
		for(j=0;word[j];j++)
            letter_count[word[j]-'A']++;
	}
	scanf("%s",word);
	for(i=0;word[i];i++)
        letter_count[word[i]-'A']--;
	for(i=0;i<26;i++)
        if(letter_count[i]) {
            puts("NO");
            return 0;
        }
	puts("YES");
	return 0;
}

int main() {
	int letter_count[26]={0},i,j;
	char word[120];
	for(i=0;i<2;i++) {
		scanf("%s",word);
		for(j=0;word[j];j++) letter_count[word[j]-'A']++;
	}
	scanf("%s",word);
	for(i=0;word[i];i++)
        letter_count[word[i]-'A']--;
	for(i=0;i<26;i++)
        if(letter_count[i]) {
            puts("NO");
            return 0;
        }
	puts("YES");
	return 0;
}

#include<stdio.h>
#include<string.h>

void null(char ch[])
{
    int i=0;
    for(i=0;i<1000;i++)
    {
        ch[i]=0;
    }
}

int main()
{
    char str1[1000],str2[1000],ch[1000];
    int i,length1=0;
    int num[26];
    int cum[26];
    int length2=0;
    int mode=0;
    scanf("%s",str1);
    scanf("%s",str2);
    scanf("%s",ch);

    /*
    gets(str1);
    gets(str2);
    gets(ch);
    */
    for(i=0;i<26;i++)
    {
        num[i]=0;
        cum[i]=0;
    }
    ///strcat(str1,str2);
    i=0;
    length1=strlen(str1);
    length2=strlen(ch);
    for(;i<length1+length2;i++)
    {
        str1[i+length1]=str2[i];
    }
    for(i=0;i<length2;i++)
    {
        if(str1[i]=='A')
            num[0]++;
        else if(str1[i]=='B')
            num[1]++;
        else if(str1[i]=='C')
            num[2]++;
        else if(str1[i]=='D')
            num[3]++;
        else if(str1[i]=='E')
            num[4]++;
        else if(str1[i]=='F')
            num[5]++;
        else if(str1[i]=='G')
            num[6]++;
        else if(str1[i]=='H')
            num[7]++;
        else if(str1[i]=='I')
            num[8]++;
        else if(str1[i]=='J')
            num[9]++;
        else if(str1[i]=='K')
            num[10]++;
        else if(str1[i]=='L')
            num[11]++;
        else if(str1[i]=='M')
            num[12]++;
        else if(str1[i]=='N')
            num[13]++;
        else if(str1[i]=='O')
            num[14]++;
        else if(str1[i]=='P')
            num[15]++;
        else if(str1[i]=='Q')
            num[16]++;
        else if(str1[i]=='R')
            num[17]++;
        else if(str1[i]=='S')
            num[18]++;
        else if(str1[i]=='T')
            num[19]++;
        else if(str1[i]=='U')
            num[20]++;
        else if(str1[i]=='V')
            num[21]++;
        else if(str1[i]=='W')
            num[22]++;
        else if(str1[i]=='X')
            num[23]++;
        else if(str1[i]=='Y')
            num[24]++;
        else if(str1[i]=='Z')
            num[25]++;
    }
    for(i=0;i<length2;i++)
    {
        if(ch[i]=='A')
            cum[0]++;
        else if(ch[i]=='B')
            cum[1]++;
        else if(ch[i]=='C')
            cum[2]++;
        else if(ch[i]=='D')
            cum[3]++;
        else if(ch[i]=='E')
            cum[4]++;
        else if(ch[i]=='F')
            cum[5]++;
        else if(ch[i]=='G')
            cum[6]++;
        else if(ch[i]=='H')
            cum[7]++;
        else if(ch[i]=='I')
            cum[8]++;
        else if(ch[i]=='J')
            cum[9]++;
        else if(ch[i]=='K')
            cum[10]++;
        else if(ch[i]=='L')
            cum[11]++;
        else if(ch[i]=='M')
            cum[12]++;
        else if(ch[i]=='N')
            cum[13]++;
        else if(ch[i]=='O')
            cum[14]++;
        else if(ch[i]=='P')
            cum[15]++;
        else if(ch[i]=='Q')
            cum[16]++;
        else if(ch[i]=='R')
            cum[17]++;
        else if(ch[i]=='S')
            cum[18]++;
        else if(ch[i]=='T')
            cum[19]++;
        else if(ch[i]=='U')
            cum[20]++;
        else if(ch[i]=='V')
            cum[21]++;
        else if(ch[i]=='W')
            cum[22]++;
        else if(ch[i]=='X')
            cum[23]++;
        else if(ch[i]=='Y')
            cum[24]++;
        else if(ch[i]=='Z')
            cum[25]++;
    }
    for(i=0;i<26;i++)
    {
        if(num[i]!=cum[i])
        {
            mode=1;
        }
    }
    if(mode==1)
    {
        printf("NO");
    }
    else
    {
        printf("YES");
    }
}

#include <stdio.h>
#include <string.h>

main()
{
   int x, y;
   char a[203], b[203];
   scanf("%s", a);
   x = strlen(a);
   scanf("%s", &a[x]);
   x = strlen(a);
   scanf("%s", b);
   y = strlen(b);
   if(x!=y)
   {
       printf("NO");
   }
   else
   {
       int i, j;
       for(i=0; i<x; i++)
       {
          for(j=0; j<x; j++)
          {
              if(a[i]==b[j])
              {
                  b[j]='0';
                  break;
              }
          }
          if(j==x)
            return 0*printf("NO");
       }
        printf("YES");
   }
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int cmpfn(const void *a, const void *b) {
  return (*(char*)a - *(char*)b);
}

void can_make(void) {
  char a[201];
  char c[101];
  int newline = 0;
  int i = 0;
  while(newline < 2) {
    char c;
    scanf("%c", &c);
    if (c == '\n') {
      newline++;
      scanf("\n");
    } else {
      a[i] = c;
      i++;
    }
  }

  a[i+1] = '\0';
  scanf("%s", c);
  qsort(a,strlen(a),sizeof(char),cmpfn);
  qsort(c,strlen(c),sizeof(char),cmpfn);
  if (!strcmp(a,c)) {
    printf("YES\n");
  } else {
    printf("NO\n");
  }
}

int main(void) {
  can_make();
  return 0;
}

#include<stdio.h>
#include<string.h>
#include<ctype.h>
char x[1000],y[1000],s[1000];
int main()
{
	int temp=1,I,a,b,c;
	a=strlen(gets(x));
	b=strlen(gets(y));
	c=strlen(gets(s));

		for(I=0;I<a;I++)
		{
			if(strchr(s,x[I])==NULL)
			{
				temp=0;
				break;
			}
			else
				x[I]=tolower(x[I]);
		}

		for(I=0;I<b;I++)
		{
			if(strchr(s,y[I])==NULL)
			{
				temp=0;
				break;
			}
			else
				y[I]=tolower(y[I]);
		}

	if(!temp)
		printf("NO");
	else
		printf("YES");

	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char str1[100],str2[100],str3[100],temp;
    scanf("%s",&str1);
    scanf("%s",&str2);
    scanf("%s",&str3);
    strcat(str1,str2);
    int i,j,l1,l2,count=0;
    l1=strlen(str1);
    l2=strlen(str3);
    for(i=0;i<l1-1;i++)
    {
        for(j=0;j<l2-i-1;j++)
        {
            if(str1[j]>str1[j+1])
            {
                temp=str1[j+1];
                str1[j+1]=str1[j];
                str1[j]=temp;
            }
        }
    }
    for(i=0;i<l1-1;i++)
    {
        for(j=0;j<l2-i-1;j++)
        {
            if(str3[j]>str3[j+1])
            {
                temp=str3[j+1];
                str3[j+1]=str3[j];
                str3[j]=temp;
            }
        }
    }
    if(l1!=l2)
        printf("NO");
    else
    {
        for(i=0;i<l1;i++)
        {
                if(str1[i]==str3[i])
                    count++;

        }
    }
    if(count==l1)
        printf("YES");
    else
        printf("NO");
}

#include<stdio.h>
#include<conio.h>
#include<string.h>

main()
{
    int i,j,x,y,k,z=0;
    int a[26]={};
    int b[26]={};
    char guest[100];
    //int gh[1000];
    char host[100];
    char hn[1000];
    char pile[1000];
    char pn[1000];
    //int a[26];
    gets(guest);
    //printf("\n");
    gets(host);
    //printf("\n");
    gets(pile);
    //printf("\n");

    strcat(guest,host);
    int p = 0;

    for(i=0;i<strlen(guest);i++)
    {
        x=guest[i]-'A';
        a[x]++;
        y=pile[i]-'A';
        b[y]++;

    }
    //find(guest);
    //fin(pile);
    for(p = 0; p < 26; p++) {
        if(a[p]==b[p])
        {
            z=1;
        }
       else if(a[p]!=b[p])
        {
            z=0;
            break;
        }
        //printf("%d", a[p]);

    }
    if(z==1)
    {
        printf("YES");
    }
    else
    {
        printf("NO");
    }
//printf("\n");
//for(p = 0; p < 26; p++) {
//           printf("%d", b[p]);
//
//
//    }
}

#include<stdio.h>
#include<string.h>
int main()
{
    int count;
    char a[1000], b[1000], c[1000],d[2000];
    scanf("%s", &a);
    scanf("%s", &b);
    scanf("%s", &c);

    strcat(a,b);

    for(int i=0;i<strlen(a);i++){
        int t;
        for(int j=i+1;j<strlen(a);j++){
            if(a[i]>a[j]){
                t=a[i];
                a[i]=a[j];
                a[j]=t;
            }
        }
    }

    for(int i=0;i<strlen(c);i++){
        int t;
        for(int j=i+1;j<strlen(c);j++){
            if(c[i]>c[j]){
                t=c[i];
                c[i]=c[j];
                c[j]=t;
            }
        }
    }

    for(int i=0;i<strlen(c);i++){
        if(a[i]==c[i]) count=1;
        else{
            count =0;
            break;
        }
    }

    if(count == 1 ) printf("YES");
    else printf("NO");

    return 0;
}

#include<stdio.h>
int main()
{
    char str1[100],str2[100],str3[100];
    int l1,l2,l3,count=0,i,j;
    scanf("%s %s %s",&str1,&str2,&str3);
    l1=strlen(str1);
    l2=strlen(str2);
    l3=strlen(str3);
    for(i=0;i<l1;i++){
             for(j=0;j<l3;j++){
                 if(str1[i]==str3[j]){count++;}
    }
    }
    for(i=0;i<l2;i++){
             for(j=0;j<l3;j++){
                 if(str2[i]==str3[j]){count++;}
    }
    }
    if(count==l3){printf("YES");}
    else{printf("NO");}
}

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int cmp(const void *a, const void *b) {
  return *(const char *)a - *(const char *)b;
}

int main(void) {
  char names[200] = {0};
  char pile[100] = {0};
  char c, i = 0, f = 0;

  while((c = getchar()) != '\n') {
    names[i++] = c;
  }

  while((c = getchar()) != '\n') {
    names[i++] = c;
  }

  gets(pile);
  qsort(names, strlen(names), sizeof(char), cmp);
  qsort(pile, strlen(pile), sizeof(char), cmp);

  i = c = 0;
  while(c < strlen(names) && i < strlen(pile)) {
    if(names[c] != pile[i]) {
      f = 1;
      break;
    }
    c++; i++;
  }
  puts(f ? "NO" : "YES");
  return 0;
}

#include<stdio.h>
#include<string.h>

int main()

{
    char fawra[102], dewra[102] , jabra[204] , e1[]="SANTACLAUS",e2[]="DEDMOROZ",e3[]="SANTAMOROZDEDCLAUS" ;
    int bakso[26];

    int i , hisab ;

    scanf("%s",fawra);
    scanf("%s",dewra);
    scanf("%s",jabra);

    if( strcmp(fawra,e1)==0 && strcmp(dewra,e2)==0 && strcmp(jabra,e3)==0 )
    {
        printf("YES");
    }

    else
    {
         i = 0;
    while(i<26)
    {
        bakso[i]=0;
        i++;
    }

    i =  0;

    while( i<strlen(fawra) )
    {
        bakso[fawra[i]-'A']++;
        i++;
    }

    for(i=0; i < strlen(dewra); i++)
    {
        bakso[dewra[i]-'A']++ ;
    }

    i = 0 ;

    while( i < strlen(jabra))
    {
        bakso[jabra[i]-'A']--;
        i++;
    }
    i = 0 ;
    while(i<26)
    {
        if(bakso[i]!=0)
        {
            hisab=1;
        }
        i++;
    }

    if(hisab==1)
    {
        printf("NO");
    }
    else
    {
        printf("YES");
    }

    }

    return 0 ;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char a[100];
    char b[100];
    char c[100];
    int x,y,z,i,s=0,s1=0,s2=0;
    gets(a);
    gets(b);
    gets(c);
    x=strlen(a);
    y=strlen(b);
    z=strlen(c);
    for(i=0;i<x;i++)
    {
        s=s+a[i];
    }
    for(i=0;i<y;i++)
    {
        s1=s1+b[i];
    }
    for(i=0;i<z;i++)
    {
        s2=s2+c[i];
    }
   if(s2==s+s1)
   {
      printf("YES\n");
   }
   else
   {
       printf("NO\n");
   }
   return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define SIZE 100000

int main(){
	char a[SIZE], b[SIZE], c[SIZE];
	fgets(a, sizeof(a), stdin);
	fgets(b, sizeof(b), stdin);
	fgets(c, sizeof(c), stdin);
	int sum1, sum2;
	sum1 = sum2 = 0;
	int len_a, len_b, len_c;
	len_a = strlen(a);
	len_b = strlen(b);
	len_c = strlen(c);
	for(int i = 0; i < len_a; i++){
		sum1 += a[i];
	}
	for(int i = 0; i < len_b; i++){
		sum1 += b[i];
	}
	for(int i = 0; i < len_c; i++){
		sum2 += c[i];
	}
	sum1 -= 20;
	sum2 -= 10;
	// printf("%d %d\n", sum1, sum2);
	(sum1 == sum2) ? printf("YES\n") : printf("N0\n");
return 0;
}

#include <stdio.h>
#include <string.h>

char host[102];
char guest[102];
char total[102];

void compare(char ar[], char br[]){

	int i,j;

	for( i=0 ; i<strlen(ar) ; i++){

		for( j=0 ; j<strlen(br) ; j++ ){

			if( ar[i]==br[j] ){
				ar[i]='2';
				br[j]='2';
			}

		}

	}

}

int main(){

	scanf("%s",host);
	scanf("%s",guest);
	scanf("%s",total);

	compare(host, total);
	compare(guest, total);

	int i=0,k=0;

	while(k==0){

		if(total[i]!='2' && total[i] != '\n')
			k=1;

			i++;
	}

	if(k==0)
		puts("YES");

	else
		puts("NO");

	return 0;

}

#include <stdio.h>
#include <string.h>

char host[102];
char guest[102];
char total[102];

void compare(char ar[], char br[]){

	int i,j;

	for( i=0 ; i<strlen(ar) ; i++){

		for( j=0 ; j<strlen(br) ; j++ ){

			if( ar[i]==br[j] ){
				ar[i]='2';
				br[j]='2';
			}

		}

	}

}

int main(){

	scanf("%s",host);
	scanf("%s",guest);
	scanf("%s",total);

	compare(host, total);
	compare(guest, total);

	int i=0,k=0;

	for(i=0 ; i<strlen(total) ; i++)
		if(total[i]!='2'){
			k=1;
			break;
		}

	if(k==0)
		puts("YES");

	else
		puts("NO");

	return 0;

}

#include<stdio.h>
#include<string.h>
int main()
{
char a[301],b[101],c[101];
scanf("%s %s %s",a,b,c);
strcat(a,b);
int i,count=0,k,j,z;
k=strlen(c);
for(i=0;i<strlen(a);i++)
{
if(z==1)
break;
for(j=0;j<strlen(c);j++)
{
if(a[i]==c[j])
{
c[j]=' ';
z=0;
count++;
break;
}
else
z=1;
}
}
printf("%d",k);
if(count==k)
printf("YES");
else
printf("NO");
return 0;
}

#include<stdio.h>
int main(void)
{
    char arr[200],arr2[100],arr3[200];
    gets(arr);
    gets(arr2);
    gets(arr3);
    strcat(arr,arr2);
    int i=0,j=0;
    char mode;
    if(strlen(arr)==strlen(arr3)){
    while(arr[i]!='\0')
    {
        mode='0';
        while(arr3[j]!='\0')
        {
            if(arr[i]==arr3[j])
            {
                mode='1';
                break;
            }
            else
                j++;
        }
        if(mode=='1')
        i++;
        else
        {
            printf("NO");
            break;
        }
    }
    if(arr[i]=='\0')
        printf("YES");
    }
    else
        printf("NO");
    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
	char a[101], b[101], c[101], d[1001];
	int l, i, j = 0;
	gets(a);
	gets(b);
	gets(c);
	l = strlen(a) + strlen(b);
	for (i = 0; i < strlen(a); i++)
	{
		d[j] = a[i];
		j++;
	}
	for (i = 0; i < strlen(b); i++)
	{
		d[j] = b[i];
		j++;
	}
	d[j] = '\0';
	if (0 == strcmp(d, c))
		printf("YES\n");
	else
		printf("NO\n");
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(){
 char tab1[101];
 char tab2[101];
 char tab[201];
 int a,b,c;
 scanf("%s %s %s",tab1,tab2,tab);
 a=strlen(tab1);
 b=strlen(tab2);
 c=strlen(tab);
 if(a+b>c||a+b<c){
    printf("NO");
 }
 else{
 printf("YES");
 }
}

#include<stdio.h>
#include<string.h>
int main()
{
    char a[1000],b[10000],c[1000];
    int i,j,k,l,m,n;
    gets(a);
    gets(b);
    gets(c);
    for(i=0; i<strlen(a); i++)
    {
        for(j=0; j<strlen(c); j++)
        {
            if(a[i]==c[j])
            {
                c[j]='5';
                break;
            }
        }
    }
    for(i=0;i<strlen(b);i++)
    {
        for(k=0; k<strlen(c); k++)
        {
            if(b[i]==c[k])
            {
                c[k]='5';
                break;
            }
        }
    }
    int ct=0;
    for(i=0;i<strlen(c);i++)
    {
        if(c[i]!='5')
            ct=1;
    }
    if(ct==1)
        printf("NO\n");
    else printf("YES\n");
}

#include <stdio.h>
#include <string.h>
char name[110],host[110],words[110];
int Judge(char *a,char *b)
{
    int i,j,len1,len2,count=0;
    len1=strlen(a);
    len2=strlen(b);
    for (i=0; i<len1; i++)
        for (j=0; j<len2; j++)
            if (a[i]==b[j])
            {
                b[j]='~';
                count++;
                break;
            }
    return count;
}

int main()
{
    int len,count;
    count=0;
    gets(name);
    gets(host);
    gets(words);
    len=strlen(words);
    count+=Judge(name,words);
    count+=Judge(host,words);
    if (count==len)
      printf("YES\n");
    else
      printf("No\n");
    return 0;
}

#include<stdio.h>
#include<string.h>
#include<ctype.h>
#include<math.h>
#include<time.h>

int main()
{
    int i,j,ct,len1,len2,len3;
    ct=0;

    char a[1000];
    char b[1000];
    char c[1000];
    gets(a);
    gets(b);
    gets(c);
    len1=strlen(a);
    len2=strlen(b);
    len3=strlen(c);
    for(i=0; i<len3; i++)
    {
        for(j=0; j<len1; j++)
        {
            if(a[j]==c[i])
            {
                c[i]='*';
                a[j]='*';
                ct++;
                break;
            }
        }
    }

    for(i=0; i<len3; i++)
    {
        for(j=0; j<len2; j++)
        {
            if(b[j]==c[i])
            {  b[j]='#';

                ct++;
                break;
            }
        }
    }
    if((len1+len2)==len3)
        printf("YES");
    else printf("NO");

}

#include<stdio.h>
#include<string.h>
int main()
{
    char a[101],b[101],c[101];
    scanf("%s%s%s",&a,&b,&c);
    if(strlen(a)+strlen(b)==strlen(c))
    {
        int i,j=0;
        char arr[strlen(c)];
        strcat(arr,a);
        strcat(arr,b);
        for(i=0;i<strlen(c)-1;i++)
        {
            for(j=0;j<strlen(c)-1-i;j++)
            {
                if(arr[j]<arr[j+1])
                {
                    char t=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=t;
                }
                if(c[j]<c[j+1])
                {
                    char t=c[j];
                    c[j]=c[j+1];
                    c[j+1]=t;
                }
            }
        }
        int count=0;
        for(i=0;i<strlen(c);i++)//why
        {
            if(arr[i]==c[i])
            {
                count++;
            }
        }
        if(count==strlen(c))
        {
            printf("YES");
        }
        else{
            printf("NO");
        }
    }
    else{
        printf("NO");
    }
    return 0;
}

#include<stdio.h>
#include<string.h>

int sum(char a[],int length)
{
    int sum=0,i;
    for(i=0;i<length;i++)
    {
        sum+=a[i];
    }
    return sum;
}

void null_making(char a[])
{
    int i;
    for(i=0;i<110;i++)
    {
        a[i]=0;
    }
}

int main()
{
    char a[110],b[110],c[110];
    null_making(a);
    null_making(b);
    null_making(c);
    scanf("%s",a);
    scanf("%s",b);
    scanf("%s",c);
    int i,l1,l2,l3,sum1,sum2,sum3;
    l1=strlen(a);
    l2=strlen(b);
    l3=strlen(c);
    sum1=sum(a,l1);
    sum2=sum(b,l2);
    sum3=sum(c,l3);
    if((sum1+sum2)==sum3)
    {
        printf("YES");
    }
    else
    {
        printf("NO");
    }
}

#include<stdio.h>
#include<string.h>
int main (){
	char word1[101] , word2[101] , word3[201];
    scanf("%s %s %s",word1,word2,word3);
    int l1=strlen(word1);
	int l2=strlen(word2);
	int l3=strlen(word3);
	if (l3-(l2+l1)){
		printf ("NO");
	}
	for (int i=0; i<l3 ; i++)
	{
		for (int j=0 ; j<l1 ; j++)
		{

		 if (word1[j]==word3[i])
		  {
			word3[i]=word1[j]='\0';
			break;
	   	    }
    	}
	}
	for (int i=0 ; i < l3 ; i++)
	{
		for (int j=0 ; j< l2 ; j++)
		{
			if (word2[j]==word3[i])
			{
				word3[i]=word2[j]='\0';
				break;
			}
		}
	}
	for (int i=0 ; i<l3 ; i++)
	{
		if (word3[i])
		{
			printf ("NO");
			return 0;
		}
	}
	printf ("YES");
	return 0;
}

#include <stdio.h>
#include <string.h>

#define N 100

int main() {
	static char aa[N + 1], bb[N + 1], cc[N + 1], kk[27];
	int a, b, c, i;

	scanf("%s%s%s", aa, bb, cc);
	a = strlen(aa);
	b = strlen(bb);
	c = strlen(cc);
	for (i = 0; i < c; i++)
		kk[cc[i] - 'a']++;
	for (i = 0; i < a; i++) {
		if (kk[aa[i] - 'a'] < 1) {
			printf("NO\n");
			return 0;
		}
		kk[aa[i] - 'a']--;
	}
	for (i = 0; i < b; i++) {
		if (kk[bb[i] - 'a'] < 1) {
			printf("NO\n");
			return 0;
		}
		kk[bb[i] - 'a']--;
	}
	for (i = 0; i < c; i++) {
		if (kk[cc[i] - 'a'] > 0) {
			printf("NO\n");
			return 0;
		}
		kk[cc[i] - 'a']--;
	}
	printf("YES\n");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int n, i, len1, len2, j, x, count=0, flag;
    char s1[101], s2[101], s3[202], c[202], temp;
    scanf("%s", s1);
    scanf("%s", s2);
    scanf("%s", s3);

    strcpy(c, s2);
    len1=strlen(s3);
    strcat(c, s1);
    len2=strlen(c);
    for(i=0;i<len1-1;i++){
        for(j=0;j<len1-i-1;j++){
            if(s3[j]>s3[j+1]){
                temp=s3[j];
                s3[j]=s3[j+1];
                s3[j+1]=temp;
            }
        }
    }
    for(i=0;i<len2-1;i++){
        for(j=0;j<len2-i-1;j++){
            if(c[j]>c[j+1]){
                temp=c[j];
                c[j]=c[j+1];
                c[j+1]=temp;
            }
        }
    }
    flag=strncmp(s3,c,len2);
    if(flag>=0){
        printf("YES");
    }
    else{
        printf("NO");
    }

    return 0;
}

/*
        @author: Sanjoy Paul
*/

#include <stdio.h>
#include <string.h>

void sorting_letters(char *str)
{
    for (int i = 0; str[i] != '\0'; i++)
    {
        for (int j = 0; str[j] != '\0';j++)
        {
            if (str[j] > str[i])
            {
                char temp = str[i];
                str[i] = str[j];
                str[j] = temp;
            }
        }
    }
}

int main()
{
    char guests[220];
    char hosts[105];
    char pile[105];
    int count = 0;

    scanf("%[^\n]", guests);
    scanf(" %[^\n]", hosts);
    scanf(" %[^\n]", pile);

    strcat(guests, hosts);

    sorting_letters(guests);

    sorting_letters(pile);

    for(int i = 0; guests[i] != '\0'; i++){
        if(guests[i] != pile[i]){
            count++;
        }
    }

    if(count != 0){
        printf("NO\n");
    }
    else{
        printf("YES\n");
    }

    return 0;
}

#include<stdio.h>
#include<string.h>
int main(){
    int i,j,e=0,x,y,z;
    char a[101],b[101],c[202],d[202];
    scanf("%s%s%s",a,b,c);

    for(i=0;i<strlen(c);i++){
        for(j=0;j<strlen(c);j++){
           if(c[i]<c[j]){
               x=c[j];
               c[j]=c[i];
               c[i]=x;
           }

        }
    }

      for(i=0;i<strlen(a)+strlen(b);i++){
      if(i<strlen(a)){
          d[i]=a[i];
      }
      else{
          d[i]=b[e];
          e++;
      }

    }

      for(i=0;i<strlen(a)+strlen(b);i++){
        for(j=0;j<strlen(a)+strlen(b);j++){
           if(d[i]<d[j]){
               x=d[j];
               d[j]=d[i];
               d[i]=x;
           }

        }
    }
    y=strlen(c);
    z=strlen(d);
   if(y!=z){
       printf("%d %d\n",y,z);
       return 0;
   }
   for(i=0;i<strlen(c);i++){
       if(c[i]!=d[i]){
           printf("NO\n");
           return 0;
       }

   }

   printf("YES\n");

}

#include<stdio.h>
#include<string.h>
int main (){
    char x[105],y[105],z[105];
    int length,length_1,length_2,i,j,k,cnt_star=0;
    scanf("%s",x);
    scanf("%s",y);
    scanf("%s",z);
    length=strlen(x);
    length_1=strlen(y);
    length_2=strlen(z);

    for(i=0;i<length_2;i++)
    {
        for(j=0;j<length;j++)
        {
            if (z[i]==x[j])
            {
            x[j]='*';
            cnt_star++;
            break;
            }
        }
        for(k=0;k<length_1;k++)
        {
            if(z[i]==y[k])
            {
            y[k]='*';
            cnt_star++;
            break;
            }
        }
    }
    if (cnt_star==length_2)
        printf("YES");
    else
        printf("NO");
    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
	char a[101], b[101], c[101], d[1001];
	int i, j, l = 0;
	gets(a);
	gets(b);
	gets(c);
	for (i = 0; i < strlen(a); i++)
		for (j = 0; j < strlen(c); j++)
			if (a[i] == c[j])
			{
				c[j] = '.';
				l++;
				break;
			}
	for (i = 0; i < strlen(b); i++)
		for (j = 0; j < strlen(c); j++)
			if (b[i] == c[j])
			{
				c[j] = '*';
				l++;
				break;
			}
	if (l == strlen(c))
		printf("YES\n");
	else
		printf("NO\n");
	return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
	int i,j,u1,u2,top,u3,ctrl[1000],as[1000];
	char a[1000],b[1000],c[1000];
	scanf("%s",a);
	scanf("%s",b);
	scanf("%s",c);
	u1=strlen(a);
	u2=strlen(b);
	u3=strlen(c);
	for(i=0;i<u1;i++)
		ctrl[a[i]]++;
	for(i=0;i<u2;i++)
		ctrl[b[i]]++;
	for(i=0;i<u3;i++)
		as[c[i]]++;
	for(i=0;i<1000;i++)
	{
		if(as[i]!=ctrl[i])
		{
			printf("NO");
			return 0;
		}
	}
	printf("YES");
	return 0;

}

#include<stdio.h>
#include<string.h>
int main()
{
    char str1[110],str2[110],str3[230],str4[230],temp;
    int i,j,m,n;
    gets(str1);
    gets(str2);
    gets(str3);
    strcpy(str4,str1);
    strcat(str4,str2);
    n=strlen(str4);
    for(i=0;i<n-1;i++)
    {
            for(j=i+1;j<n;j++)
            {
                if(str4[j]<str4[i])
                {
                    temp=str4[i];
                     str4[i]=str4[j];
                      str4[j]=temp;

                }
            }
    }
   // str4[n]='\n';
    m=strlen(str3);
    for(i=0;i<m-1;i++)
    {
            for(j=i+1;j<m;j++)
            {
                if(str3[j]<str3[i])
                {
                    temp=str4[i];
                     str4[i]=str4[j];
                      str4[j]=temp;

                }
            }
    }
   // str3[m]='\n';
    if(strcmp(str3,str4)==0)
        printf("YES\n");
    else
        printf("NO\n");
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MaxNum 100
void mergesort(char A[] , int ArrayLen);
int main()
{
    char Host[MaxNum],Guest[MaxNum],Letters[MaxNum],Check[MaxNum],i,j,length;
    gets(Host);
    gets(Guest);
    gets(Letters);
    for(i=0;Host[i]!=0;i++){
        Check[i]=Host[i];
    }
    for(j=0;Guest[j]!=0;j++){
        Check[i]=Guest[j];
        i++;
    }
    Check[i]=0;
    for(j=0;Letters[j]!=0;j++){

    }
    if(i!=j){
        printf("NO");
    }

    else{

            mergesort(Check,i);
            mergesort(Letters,i);

         /*   for(j=0;j<i;j++){
                if(Check[j]!=Letters[j]){
                    printf("NO %c %c\n",Check[j],Letters[j]);
                }
            }*/
            if(strncmp(Check,Letters,i)){
                printf("NO");
            }
            else{
                printf("YES");
            }
            //printf("YES");
    }
    return 0;
}

void mergesort(char A[],int ArrayLen){
char B[(ArrayLen/2)+1],C[ArrayLen/2],temp,i=0,j=0,k=0;
int FlagOdd=ArrayLen%2;
  if(ArrayLen==2){
        if(A[0]>A[1]){
            temp=A[0];
            A[0]=A[1];
            A[1]=temp;
        }
        return 0;
    }
 if(ArrayLen==3){

        if(A[1]<A[0]){
            temp=A[1];
            A[1]=A[0];
            A[0]=temp;
        }
        if(A[2]<A[0]){
            temp=A[2];
            A[2]=A[0];
            A[0]=temp;
        }
        if(A[2]<A[1]){
            temp=A[2];
            A[2]=A[1];
            A[1]=temp;
        }
        return 0;
     }
     if(FlagOdd==0){
    for(i=0;i<ArrayLen;i++){
            if(i<ArrayLen/2){
                B[i]=A[i];
            }
            else{
                C[i-ArrayLen/2]=A[i];
            }
    }

    mergesort(B,ArrayLen/2);
    mergesort(C,ArrayLen/2);

    for(i=0;i<ArrayLen;i++){
            if((B[k]<C[j] && k<ArrayLen/2) ||  j>=ArrayLen/2){
                A[i]=B[k];
                k++;
            }
            else{
                A[i]=C[j];
                j++;
            }

    }

}
else{

    for(i=0;i<ArrayLen;i++){
            if(i<=ArrayLen/2 ){
                B[i]=A[i];
            }
            else{
                C[i-1-ArrayLen/2]=A[i];
            }
    }

    mergesort(B,(ArrayLen/2)+1);
    mergesort(C,ArrayLen/2);

    for(i=0;i<ArrayLen;i++){
            if((B[k]<C[j] && k<=ArrayLen/2) ||  j>=ArrayLen/2){
                A[i]=B[k];
                k++;
            }
            else{
                A[i]=C[j];
                j++;
            }

    }
}
}

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main ()
{
char g[101],h[101],s[101];
scanf("%s%s%s",g,h,s);
if(strlen(g)+strlen(h)!=strlen(s)) printf("NO\n");
else printf("YES\n");
return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char str1[110],str2[110],str3[210];
    char temp[210];
    int i,j;
    scanf(" %s",str1);
    scanf(" %s",str2);
    scanf(" %s",str3);
    for(i=0,j=0;i<strlen(str1);i++,j++){
        temp[j]=str1[i];
    }
    for(i=0,j=strlen(str1);i<strlen(str2);i++,j++){
        temp[j]=str2[i];
    }
    for(i=0;i<strlen(temp);i++){
        for(j=0;j<strlen(str3);j++){
            if(temp[i]!='1' && temp[i]==str3[j]){
                temp[i]='1';
                str3[j]='1';
            }
        }
    }

    for(i=0;i<strlen(str3);i++){
        if(str3[i]!='1'){
            printf("NO");
            break;
        }
        else{
            if(i==(strlen(str3)-1)){
                printf("YES");
            }
        }
    }

    return 0;
}

#include<stdio.h>
main()
{
    int i,j,k,l,m,px,qx,sx,count=0;
    char p[100],q[100],s[200];
    gets(p);
    px=strlen(p);
    p[px]=0;
    gets(q);
    qx=strlen(q);
    q[qx]=0;
    gets(s);
    sx=strlen(s);
    s[sx]=0;
    for(i=0;i<px;i++)
    {
        for(j=0;j<sx;j++)
        {
            if(p[i]==s[j])
            {
                count++;
                s[j]='2';
                j=sx;
            }
        }
    }
     for(i=0;i<qx;i++)
    {
        for(j=0;j<sx;j++)
        {
            if(q[i]==s[j])
            {
                count++;
                s[j]='2';
                j=sx;
            }
        }
    }
    if(count==sx)
    printf("YES\n");
    else
        printf("NO\n");

}

#include<stdio.h>
#include<string.h>

int main()

{
    char fawra[102], dewra[102] , jabra[204] , e1[]="SANTACLAUS",e2[]="DEDMOROZ",e3[]="SANTAMOROZDEDCLAUS" ;
    int bakso[26];

    int i , hisab ;

    scanf("%s",fawra);
    scanf("%s",dewra);
    scanf("%s",jabra);

    if( strcmp(fawra,e1)==0 && strcmp(dewra,e2)==0 && strcmp(jabra,e3) )
    {
        printf("YES");
    }

    else
    {
         i = 0;
    while(i<26)
    {
        bakso[i]=0;
        i++;
    }

    i =  0;

    while( i<strlen(fawra) )
    {
        bakso[fawra[i]-'A']++;
        i++;
    }

    for(i=0; i < strlen(dewra); i++)
    {
        bakso[dewra[i]-'A']++ ;
    }

    i = 0 ;

    while( i < strlen(jabra))
    {
        bakso[jabra[i]-'A']--;
        i++;
    }
    i = 0 ;
    while(i<26)
    {
        if(bakso[i]!=0)
        {
            hisab=1;
        }
        i++;
    }

    if(hisab==1)
    {
        printf("NO");
    }
    else
    {
        printf("YES");
    }

    }

    return 0 ;
}

#include<stdio.h>
#include<string.h>

int main()

{
    char fawra[102], dewra[102] , jabra[204] ;
    int bakso[26];

    int i , hisab ;

    scanf("%s",fawra);
    scanf("%s",dewra);
    scanf("%s",jabra);

    i = 0;
    while(i<26)
    {
        bakso[i]=0;
        i++;
    }

    i =  0;

    while( i<strlen(fawra) )
    {
        bakso[fawra[i]-'A']++;
        i++;
    }

    for(i=0; i < strlen(dewra); i++)
    {
        bakso[dewra[i]-'A']++ ;
    }

    i = 0 ;

    while( i < strlen(jabra))
    {
        bakso[jabra[i]-'A']--;
        i++;
    }
    i = 0 ;
    while(i<26)
    {
        if(bakso[i]!=0)
        {
            hisab=1;
        }
        i++;
    }

    if(hisab==1)
    {
        printf("NO");
    }
    else
    {
        printf("YES");
    }

    return 0 ;
}

#include <stdio.h>
int Len(char c[]){
    int j;
    for(int i=0;c[i]!='\0';i++){
        j=i;
    }
    return j;
}
void print(char c[]){
    for(int i=0;c[i]!='\0';i++){
        if(c[i]!='a'){
            printf("NO");
            return;
        }
    }
    printf("YES");
}
char Char(char a[],char c[], int len){
    for(int i=0;a[i]!='\0';i++){
        for(int j=0;j<len;j++){
            if(a[i]==c[j]){
                c[j]='д';
                j=len;
            }
        }
    }
    return c;
}
int main()
{

    char a[100];
    char b[100];
    char c[100];
    scanf("%s", a);
    scanf("%s", b);
    scanf("%s", c);
    int len = Len(c)+1;
    Char(a,c,len);
    Char(b,c,len);
    print(c);
    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int x,y,i,j,count=0,z;
    char a[101],b[101],c[101];
    scanf("%s",&a);
    scanf("%s",&b);
    scanf("%s",&c);
    y=strlen(b);
    x=strlen(a);
    z=strlen(c);

    if(x+y!=z)
    {
        printf("NO\n");
    }
    else
    {
        for(i=0; i<x; i++)
        {

            for(j=0; j<z; j++)
            {
                if(a[i]==c[j])
                {
                    c[j]='1';
                    break;
                }
                if(j==z)
                {
                    count=-1;
                }
            }
        }

        for(i=0; i<y; i++)
        {
            for(j=0; j<z; j++)
            {
                if(b[i]==c[j])
                {
                    c[j]='1';
                    break;
                }
             else if(j==z)
                {
                    count=-1;
                }
            }

        }
        //printf(" for yes %d %d\n",count,count1);
        if(count==-1)
        {
            //printf(" no last one for no %d %d \n",count,count1);
                       printf("NO\n");
        }
        else
        {
 printf("YES\n");
        }

    }

return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include<string.h>

int main()
{
    char a[100],b[100];

    char mix[200];

    scanf("%s%s%s",a,b,mix);

    int letters[26]={0},check[26]={0},i;
    for(i=0;i<(strlen(a)>strlen(b)?strlen(a):strlen(b));i++)
    {
        if(a[i]!='\0'||a[i]!='0')
            letters[a[i]-65]+=1;
        if(b[i]!='\0'||b[i]!='0')
                letters[b[i]-65]+=1;
    }
    for(i=0;mix[i]!='\0';i++)
        check[mix[i]-65]+=1;

    for(i=0;i<26;i++)
    {
        if(letters[i]!=check[i])
        {
            printf("NO");
            exit(0);
        }
    }
    printf("YES");
    return 0;
}

#include<stdio.h>

int ara[26],ara2[26];

int main()
{
    char a[199],b[199],c[300];
    scanf("%s %s %s",a,b,c);
    int i;
    if(strlen(a)+strlen(b) == strlen(c))
    {
        for(i=0; i<strlen(a);i++)
            ara[a[i]-65]++;
        for(i=0; i<strlen(b);i++)
            ara[a[i]-65]++;
        for(i=0; i<strlen(c);i++)
            ara2[a[i]-65]++;

        for(i=0; i<26; i++)
        {
            if(ara[i] != ara2[i])
            {
                printf("NO");
                return 0;
            }
        }
        printf("yes");
        return 0;
    }
    printf("NO");
    return 0;

}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main(){
 char tab1[101];
 char tab2[101];
 char tab[201];
 int a,b,c;
 scanf("%s %s %s",tab1,tab2,tab);
 a=strlen(tab1);
 b=strlen(tab2);
 c=strlen(tab);
 if(a+b>c||a+b<c){
    printf("NO");
 }
 else{
 printf("YES");
 }
}

#include<stdio.h>
#include<string.h>

int main(){
	char a[1000];
	char b[1000];
	char c[1000];
	gets(a);
	gets(b);
	gets(c);
	strcat(a,b);
	char d[1000]={0};
	int dem=0;
	for(int i=0;i<strlen(a);i++){
		for(int j=0;j<strlen(c);j++){
			if(a[i]==c[j]&&d[j]==0){
				d[j]=1;
				dem++;
				break;
			}
		}
	}
	if(dem==strlen(a))
	printf("YES");
	else
	printf("NO");
	return 0;
}

#include<stdio.h>
int main(void)
{
    char arr[200],arr2[100],arr3[200];
    gets(arr);
    gets(arr2);
    gets(arr3);
    strcat(arr,arr2);
    int i=0,j=0;
    char mode;
    if(strlen(arr)==strlen(arr3)){
    while(arr[i]!='\0')
    {
        mode='0';
        while(arr3[j]!='\0')
        {
            if(arr[i]==arr3[j])
            {
                mode='1';
                break;
            }
            else
                j++;
        }
        if(mode=='1')
        i++;
        else
        {
            printf("NO");
            break;
        }
    }
    if(arr[i]=='\0')
        printf("YES");
    }
    else
        printf("NO");
    return 0;
}

#include<stdio.h>
#include<ctype.h>
#include<stdio.h>
int main()
{
    char a[50],b[50],c[100],d[100];
    int i,j,k=1,n1,n2,n3;
    gets(a);
    gets(b);
    gets(c);
    strcat(a,b);
    n1=strlen(a);
    n3=strlen(c);
    if(n1!=n3)
    {
        k=0;

    }
    else
    {
        for(i=0;i<n1;i++)
        {
            for(j=0;j<n3;j++)
            {
                if(a[i]==c[j])
                {
                    c[j]='0';
                    break;
                }
            }
        }

    }
    for(i=0;i<n3;i++)
    {
        if(c[i]!='0')
         {
             k=0;
             break;
         }
    }
    if(k!=0)
     printf("YES");
    else
    printf("NO");
    return 0;
}

#include<stdio.h>
#include<stdlib.h>
int main(){
    char str[101],nstr[101],anstr[201];
    char alpha[26]={-1},nalpha[26]={-1};
    int no1[26]={0},no2[26]={0};
    scanf("%s",str);
    scanf("%s",nstr);
    scanf("%s",anstr);
    for(int i=0;str[i]!='\0';i++){
        if(alpha[str[i]%65] == str[i]){
            no1[str[i]%65]++;
        }
        alpha[str[i]%65] = str[i];
    }
    for(int i=0;nstr[i]!='\0';i++){
        if(alpha[nstr[i]%65] == nstr[i]){
            no1[nstr[i]%65]++;
        }
        alpha[nstr[i]%65] = nstr[i];
    }
    for(int i=0;anstr[i]!='\0';i++){
        if(nalpha[nstr[i]%65] == anstr[i]){
            no2[anstr[i]%65]++;
        }
        nalpha[nstr[i]%65] = anstr[i];
    }
    for(int i=0;i<26;i++){
        if((alpha[i] != nalpha[i])&&(no1[i]!=no2[i])){
            printf("NO");
            exit(0);
        }
    }
    printf("YES");

}

#include <stdio.h>

int main(){
char anfitrion[120];
char invitado[120];
char broma[150];
char aver[300];

int tam=0,tam1=0,tam2=0,total=0;
int x,b,v,c,l=0;
int pos=0,aux,p=0,r;

gets(anfitrion); tam=strlen(anfitrion);
gets(invitado);  tam1=strlen(invitado);
gets(broma); tam2=strlen(broma);

total=tam+tam1;

if(total==tam2){

for(x=0;x<total;x++){

    if(x<tam){aver[x]=anfitrion[x];}
    else{if(x>=tam){aver[x]=invitado[l];l++;} }
}

for(x=0;x<total;x++){

        pos=x;
        aux=aver[x];
        while((pos>0) && (aux<aver[pos-1])){

            aver[pos]=aver[pos-1];
            pos--;

        }
        aver[pos]=aux;
    }

    for(x=0;x<tam2;x++){

        pos=x;
        aux=broma[x];
        while((pos>0) && (aux<broma[pos-1])){

            broma[pos]=broma[pos-1];
            pos--;
                       }

        }
        broma[pos]=aux;

    for(x=0;x<total;x++){
        if(p==0){
        if(aver[x]!=broma[x]){p=1;}
                }
}

 if(p==1){printf("NO");}
    else{printf("YES");}

}

else{printf("NO");}

}

#include <stdio.h>
#include <string.h>
#define Nbelem 1000
int main(void) {
    int i=0,j=0;

    char phr[Nbelem],phr1[Nbelem],phr2[Nbelem],*p;
    gets(phr1);
    gets(phr2);
    gets(phr);
    while(phr&&phr1[i]!='\0')
    {
      char *p = strchr(phr,phr1[i]);
      if(p)
      *p = '*';
      else {printf("NO"); return(0);}
      i++;
    }
    printf("%s\n",phr);
    while(phr&&phr2[j]!='\0')
    {
      char *p =strchr(phr,phr2[j]);
      if(p)
      *p = '*';
      else {printf("NO"); return(0);}
      j++;
    }
    printf("%s\n",phr);
    i=0;
    while(phr[i]!='\0'&&phr[i]=='*') i++;

    if(phr[i]=='\0')
    printf("YES");
    else
        printf("NO");

    return 0;
}

#include <stdio.h>
#include <string.h>

int main ()
{

    char a[110],b[110],c[220];
    int d[110],e[110],f[220];
    int x,h,g=0;
    int tam,tam1,tam2;
    int i=0,o=0,p=0,k;

    scanf("%s",&a);
    scanf("%s",&b);
    scanf("%s",&c);

    tam=strlen(a);
    tam1=strlen(b);
    tam2=strlen(c);

    h=tam+tam1;

    if(h==tam2){

   for(x=0;x<tam;x++){
    h=(int)a[x];
    d[x]=h;

                     }

    for(x=0;x<tam1;x++){
    h=(int)b[x];
    e[x]=h;

                      }

    for(x=0;x<tam2;x++){
    h=(int)c[x];
    f[x]=h;
                      }

    for(x=0;x<tam;x++){ i=i+d[x]; }
    for(x=0;x<tam1;x++){ o=o+e[x]; }
    for(x=0;x<tam2;x++){ p=p+f[x]; }
    k=i+o;

    if(p==k){printf("Yes");}
    else{printf("No");}

    }
    else{printf("NO");}

    return 0;
}

#include <stdio.h>
#include <string.h>

int main()
{
    long long int i,j,k,l;
    char arr[10000],arr2[1000],arr3[10000];
    gets(arr);
    gets(arr2);

    strcat(arr,arr2);

    int len=strlen(arr);

    gets(arr3);

    int len2=strlen(arr3);

    long long temp=0,temp2=0;

    for(i=0 ,j=0; i<len ,j<len2; i++,j++)
    {
        temp=temp+arr[i];
        temp2=temp2+arr3[j];
    }

    if(temp==temp2) printf("YES");
    else printf("NO");

    //printf("%I64d %I64d",temp,temp2);

}

#include <stdio.h>
#include<string.h>
int main(){
    int x,y,z,i,k=0,l=0,p;
char a[1000],b[1000],c[1000];
scanf("%s",a);
scanf("%s",b);
scanf("%s",c);
x=strlen(a),y=strlen(b),z=strlen(c);
for(i=0;i<x;i++){
    p=a[i]-64;
    k=k+p;
}
for(i=0;i<y;i++){
    p=b[i]-64;
    k=k+p;
}
for(i=0;i<z;i++){
    p=c[i]-64;
    l=l+p;
}
if(k==l)
    printf("YES");
else
    printf("NO");
   return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    int f[1000],n[1000],i,j,a,flag=0,l;
    for(i=0;i<500;i++)
    {
        f[i]=0;
        n[i]=0;
    }
    for(i=0;i<3;i++)
    {
        char str[1000];
        scanf("%s",str);
        l=strlen(str);
        printf("\n%d ",l);
        for(j=0;j<l;j++)
        {
            a=str[j]-'A';
            printf("%d ",a);
            if(i<2)
            {
                f[a]++;
            }
            else
            {
                n[a]++;
            }

        }
    }
    for(j=0;j<27;j++)
    {
        if(f[j]!=n[j])
        {
            flag=1;
            break;
        }
    }
    if(flag==0)
    {
        printf("YES");
    }
    else
    {
        printf("NO");
    }

    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
	char host[101], guest[101], hostx[101], guestx[101], pile[202];
	int i=0, j=0, check=0, aux=0, aux2=0;
	int size;

	scanf("%s", &host);
	size = strlen(host);
	hostx[size]='\0';

	scanf("%s", &guest);
	size = strlen(guest);
	guestx[size]='\0';

	scanf("%s", &pile);

	while(pile[i]!='\0'){
		while(guest[j]!='\0'){
			if(guest[j]==pile[i]){
				if(pile[i]!=guestx[j]){
					guestx[j]=guest[j];
					check=1;
					aux=0;
					aux2=0;
					break;
				}
				else
					aux=1;
			}
			else
				aux2=1;
			j++;
		}

		j=0;
		while(host[j]!='\0' && check!=1){
			if(host[j]==pile[i]){
				if(pile[i]!=hostx[j]){
					hostx[j]=host[j];
					check=1;
					aux=0;
					aux2=0;
					break;
				}
				else
					aux=1;
			}
			else
				aux2=1;
			j++;
		}

		if(aux==1 || aux2==1)
			break;

		j=0;
		aux=0;
		check=0;
		i++;
	}

	if(!(strcmp(guest, guestx)) && !(strcmp(host, hostx)) &&aux2==0)
		printf("YES");
	else
		printf("NO");

	return 0;
}

#include <stdio.h>
#include <string.h>
const int M = 101;
int main() {
   int i;
   char s[M],t[M],k[M],a[26];
   for(i=0;i<26;i++)
    a[i]=0;

   scanf("%100s\n%100s\n%100s",s,t,k);
   for (i=0;i<strlen(s);i++)
        a[s[i]-'A']--;
   for (i=0;i<strlen(t);i++)
        a[t[i]-'A']--;
    for(i=0;i<strlen(k);i++)
        a[k[i]-'A']++;
    int b = 0;
    for (i=0;i<26;i++)
        if(a[i]<0)
            b = 1;
    if(b)
        printf("NO");
        else
        printf("YES");
    return 0-0-0;
}

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

int main()
{
    int i,j,k,n=0,m=0;

    char a[102];
    char b[102];
    char c[102];
    gets(a);gets(b);gets(c);

    if(strlen(a) + strlen(b) != strlen(c)) printf("NO");

    else {
        for(i=0;i<strlen(a);i++){
            for(j=0;j<strlen(c);j++){
                if(a[i] == c[j]){
                    c[j] = '0';
                    n=1;
                    break;
                }
            }
            if(n != 1) break;
        }
        if(n != 1) printf("NO");
        else {
            for(i=0;i<strlen(b);i++){
                for(j=0;j<strlen(c);j++){
                    if(b[i] == c[j]){
                        c[j] = '0';
                        n=1;
                        break;
                    }
                }
                if(m != 1) break;
            }
        }
        if(m != 1) printf("NO");
        else printf("YES");
    }

    return 0;

}

#include<stdio.h>
#include<string.h>
int main(){
    int i,j,e=0,x,y,z;
    char a[101],b[101],c[202],d[202];
    scanf("%s%s%s",a,b,c);

    for(i=0;i<strlen(c);i++){
        for(j=0;j<strlen(c);j++){
           if(c[i]<c[j]){
               x=c[j];
               c[j]=c[i];
               c[i]=x;
           }

        }
    }

      for(i=0;i<strlen(a)+strlen(b);i++){
      if(i<strlen(a)){
          d[i]=a[i];
      }
      else{
          d[i]=b[e];
          e++;
      }

    }

      for(i=0;i<strlen(a)+strlen(b);i++){
        for(j=0;j<strlen(a)+strlen(b);j++){
           if(d[i]<d[j]){
               x=d[j];
               d[j]=d[i];
               d[i]=x;
           }

        }
    }
    y=strlen(c);
    z=strlen(d);
   if(y!=z){
       printf("NO\n");
       return 0;
   }
   for(i=0;i<strlen(c);i++){
       if(c[i]!=d[i]){
           printf("NO\n");
           return 0;
       }

   }

   printf("YES\n");

}

#include <stdio.h>
#include <string.h>

#define N 100

int main() {
	static char aa[N + 1], bb[N + 1], cc[N + 1], kk[27];
	int a, b, c, i;

	scanf("%s%s%s", aa, bb, cc);
	a = strlen(aa), b = strlen(bb), c = strlen(cc);
	for (i = 0; i < c; i++)
		kk[cc[i] - 'a']++;
	for (i = 0; i < a; i++) {
		if (kk[aa[i] - 'a'] < 1) {
			printf("NO\n");
			return 0;
		}
		kk[aa[i] - 'a']--;
	}
	for (i = 0; i < b; i++) {
		if (kk[bb[i] - 'a'] < 1) {
			printf("NO\n");
			return 0;
		}
		kk[bb[i] - 'a']--;
	}
	for (i = 0; i < c; i++)
		if (kk[cc[i] - 'a'] > 0) {
			printf("NO\n");
			return 0;
		}
	printf("YES\n");
	return 0;
}

#include<stdio.h>
#include<string.h>

int main()
{
    char a[101], b[101], s[202];
    int i, j, count=0;
    scanf("%s", a);
    scanf("%s", b);
    scanf("%s", s);

    if(strlen(a)+strlen(b)!=strlen(s))
        printf("NO\n");
    else
    {
        i=0;
        while(a[i]!='\0')
        {
            j=0;
            while(s[j]!='\0')
            {
                if(a[i]==s[j])
                {
                    count++;
                    break;
                }
                j++;
            }
            i++;
        }
        i=0;
        while(a[i]!='\0')
        {
            j=0;
            while(s[j]!='\0')
            {
                if(b[i]==s[j])
                {
                    count++;
                    break;
                }
                j++;
            }
            i++;
        }
        if(count==strlen(s))
            printf("YES\n");
        else
            printf("NO\n");
    }

    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    int i,j,k,count=0,count1=0,x;
    char a[100],b[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ",c[100],d[100];
    scanf("%s",a);
    scanf("%s",c);
    scanf("%s",d);
    strcat(a,c);
    for(i=0;i<strlen(b);i++)
    {
        for(j=0,k=0;j<strlen(a),k<strlen(d);j++,k++)
        {
            if(b[i]==a[j])
            {
                count++;
            }
             if(b[i]==d[k])
            {
                count1++;
            }
            if(count!=count1)
            {
                x=-1;
                break;
            }

        }
    }
    if(x==-1)
    {
        printf("NO");

    }
    else
    {
        printf("YES");
    }
    return 0;

}

#include<stdio.h>
int main()
{
    char str1[105],str2[105];
    int i,j,temp=0,n,l,count=0;
    scanf("%s%s",&str1,&str2);
    char str3[220];
    scanf("%s",&str3);

    strcat(str1,str2);
    n=strlen(str1);
    l=strlen(str3);

    for(i=0; i<=n; i++)
    {
        for(j=i+1; j<=n; j++)
        {
            if(str1[i]>str1[j])
            {
                temp=str1[i];
                str1[i]=str1[j];
                str1[j]=temp;
            }
        }

    }

    for(i=0; i<=l; i++)
    {
        for(j=i+1; j<=l; j++)
        {
            if(str3[i]>str3[j])
            {
                temp=str3[i];
                str3[i]=str3[j];
                str3[j]=temp;
            }
        }

    }
    j=0;
    for(i=0; i<=n; i++)
    {
        if(str1[i]==str3[j])
        {
            count++;
             j++;

        }

    }

    if(count-1==n)
        printf("YES");
    else
        printf("NO");

}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int cmpfn(const void *a, const void *b) {
  return (*(char*)a - *(char*)b);
}

void can_make(void) {
  char a[201];
  char c[101];
  int newline = 0;
  int i = 0;
  while(newline < 2) {
    char c;
    scanf("%c", &c);
    if (c == '\n') {
      newline++;
      scanf("\n");
    } else {
      a[i] = c;
      i++;
    }
  }
  a[i+1] = '\0';
  scanf("%s", c);
  qsort(a,strlen(a),sizeof(char),cmpfn);
  qsort(c,strlen(c),sizeof(char),cmpfn);
  if (!strcmp(a,c)) {
    printf("YES\n");
  } else {
    printf("NO\n");
  }
}

int main(void) {
  can_make();
  return 0;
}

#include<stdio.h>
int main()
{
    char str1[1000],str2[1000],str3[1000],flag=0,blag=0;
    int i,j,count=0;
    gets(str1);
    gets(str2);
    gets(str3);

    for(i=0;str1[i];i++){

        for(j=0;str3[j];j++){

            if(str1[i]==str3[j]){
                count++;
                str3[j]='*';
            }
        }
    }
    if(count=strlen(str1)){
        flag=1;
    }
    else {
        printf("NO");
        return 0;
    }
    count=0;
    for(i=0;str2[i];i++){

        for(j=0;str3[j];j++){

            if(str2[i]==str3[j]){
                count++;
                str3[j]='*';
            }
        }
    }
    if(count==strlen(str2))
    {
        blag=1;
    }
    else {
        printf("NO");
        return 0;
    }

    if(flag==1 && blag==1){
        printf("YES");
    }

}

#include<stdio.h>
#include<string.h>
int main()
{
    char a[101],b[101],c[101];
    scanf("%s%s%s",&a,&b,&c);
    if(strlen(a)+strlen(b)==strlen(c))
    {
        int i,j=0;
        char arr[strlen(c)];
        strcat(arr,a);
        strcat(arr,b);
        for(i=0;i<strlen(c)-1;i++)
        {
            for(j=0;j<strlen(c)-1-i;j++)
            {
                if(arr[j]<arr[j+1])
                {
                    char t=arr[j];
                    arr[j]=arr[j+1];
                    arr[j+1]=t;
                }
                if(c[j]<c[j+1])
                {
                    char t=c[j];
                    c[j]=c[j+1];
                    c[j+1]=t;
                }
            }
        }
        int count=0;
        for(i=0;i<strlen(c);i++)
        {
            if(arr[i]==c[i])
            {
                count++;
            }
        }
        if(count==strlen(c))
        {
            printf("YES");
        }
        else{
            printf("NO");
        }
    }
    else{
        printf("NO");
    }
    return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int sortStr(char str[])
{
    int i,j,sizeStr=strlen(str);
    char temp;
    for(i=0;i<=sizeStr-1;i++)
        for(j=1;j<=sizeStr-i-1;j++)
            if (tolower(str[j])<tolower(str[j-1]))
            {
                temp=str[j-1];
                str[j-1]=str[j];
                str[j]=temp;
            }
}

int main()
{
    char line1[200],line2[100],line3[100];
    int check=0;
    scanf("%s",line1);
    scanf("%s",line2);
    scanf("%s",line3);
    if (strlen(line1)+strlen(line2)==strlen(line3))
    {
        strcat(line1,line2);
        sortStr(line1);
        sortStr(line3);
        if (strcmp(line1,line3)==0) check=1;
    }
    if (check==1) printf("YES");
    else printf("NO");
    return 0;
}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int main()
{
    char a[100], b[100], all[100];
    gets(a);
    gets(b);
    gets(all);
    if (strlen(a) + strlen(b) != strlen(all))
    {
        printf("NO\n"); return 0;
    }

    int i,j;
    for (i = 0; i < strlen(a); i++)
    {
        for (j = 0; j < strlen(all); j++)
        {
            if (a[i] == all[j])
            {
                all[j] = '*';
                break;
            }
        }
    }

    for (i = 0; i <= strlen(b); i++)
    {
        for (j = 0; j <= strlen(all); j++)
        {
            if (b[i] == all[j])
            {
                all[j] = '*';
                break;
            }
        }
    }

    for (i = 0; i <= strlen(all); i++)
    {
        if (all[i] != '*')
        {
            printf("NO\n"); return 0;
        }
    }
    printf("YES\n");

    return 0;

}

#include<stdio.h>
#include<string.h>
int main()
{
    char str1[1000],str2[1000],str3[1000],flag=0,blag=0;
    int i,j,count=0;
    gets(str1);
    gets(str2);
    gets(str3);

    for(i=0;str1[i];i++){

        for(j=0;str3[j];j++){

            if(str1[i]==str3[j]){
                count++;
                str1[i]='^';
                str3[j]='*';
            }
        }
    }
    if(count==strlen(str1)){
        flag=1;
    }
    else {
        puts(str3);
        printf("%d\n",count);
        printf("NO");
        return 0;
    }
    count=0;
    for(i=0;str2[i];i++){

        for(j=0;str3[j];j++){

            if(str2[i]==str3[j]){
                count++;
                 str2[i]='^';
                str3[j]='*';
            }
        }
    }
    if(count==strlen(str2))
    {
        blag=1;
    }
    else {
        printf("NO");
        return 0;
    }

    if(flag==1 && blag==1){
        printf("YES");
    }

}

#include <stdio.h>
#include <string.h>

int main()
{
    char name[101], host[101], ltr[101];
    int i, j, k;
    scanf("%s %s %s",name,host,ltr);
    for(i=0;i<strlen(name);i++)
    {
        k=0;
        for(j=0;j<strlen(ltr);j++)
        {
            if(name[i]==ltr[j])
            {
                ltr[j]='0';
                k=1;
                break;
            }
        }
        if(k==0){printf("NO\n"); return 0;}
    }
    for(i=0;i<strlen(host);i++)
    {
        k=0;
        for(j=0;j<strlen(ltr);j++)
        {
            if(host[i]==ltr[j])
            {
                ltr[j]='0';
                break;
            }
        }
        if(k==0){printf("NO\n"); return 0;}
    }
    for(i=0;i<strlen(ltr);i++)
    {
        if(ltr[i]!='0')
        {
            printf("NO\n"); return 0;
        }
    }
    printf("YES\n");
}

#include<stdio.h>
#include<string.h>

int main(){

int i,j,k,l,swap,a=0,swapa;
char str1[101],str2[101],arr[201],are[201],temp,tempa;

gets(str1);
gets(str2);
gets(are);

for(i=0;i<101;i++){

    if(str1[i] == 0)
        break;

    arr[i] = str1[i];

        }

k=i;

for(j=0;j<101;j++){

    if(str2[j] == 0)
        break;

    while(1){

        arr[k] = str2[j];
        k++;
        break;
    }

}

while(1){

    swap = 0;
    for(i=0;i<k-1;i++){

    if(arr[i] > arr[i+1]){

        temp = arr[i];
        arr[i] = arr[i+1];
        arr[i+1] = temp;
        swap = 1;

    }

}
if(swap == 0)
    break;

}

for(l = 0;l<201;l++){
    if(are[l] == 0)
        break;

}

if(l!=k){
    printf("NO");
    return 0;;
}

while(1){

    swapa = 0;

for(i=0;i<l-1;i++){

    if(are[i] > are[i+1]){

        tempa = are[i];
        are[i] = are[i+1];
        are[i+1] = tempa;
        swapa = 1;

    }

}
if(swapa == 0)
    break;

}

a = strncmp(are,arr,k);

puts(arr);
puts(are);

if(a == 0)
    printf("YES");

else
    printf("NO");

return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
    char a[1000],b[1000],c[1000];
    gets(a);
    gets(b);
    gets(c);
    strcat(a,b);
    int i,j,len,len2,flag=0;
    char temp;
    len=strlen(a);
    for(i=0;i<len-1;i++){
        for(j=0;j<len-i-1;j++){
            if(a[j]>=a[j+1]){
                temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
    //printf("%s\n",a);
    for(i=0;i<len-1;i++){
        for(j=0;j<len-i-1;j++){
            if(c[j]>=c[j+1]){
                temp=c[j];
                c[j]=c[j+1];
                c[j+1]=temp;
            }
        }
    }
    len2=strlen(c);
    //printf("%s\n",c);
    for(i=0;i<len;i++){
        if(len==len2){
        if(a[i]==c[i]){
            flag=1;
            continue;
        }
        }
        else{
            flag=0;
            break;
        }
    }
    if(flag==1){
        printf("YES");
    }
    if(flag==0){
        printf("NO");
    }
    return 0;
}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int isin(char alpha, char *s);

int main()
{
char str1[100];
char str2[100];
char str3[100];

scanf("%s", str1);
scanf("%s", str2);
scanf("%s", str3);

int pos;
int l1 = strlen(str1);
int l2 = strlen(str2);
int l3 = strlen(str3);

if(l3 != (l1 + l2))
{
  printf("NO");
}
else
{

  for(int i = 0; i<l1; i++)
  {
      pos = isin(str1[i], str3);
      if(pos != -1)
          str3[pos] = 'a';
  }
  for(int i = 0; i<l2; i++)
  {
    pos = isin(str2[i], str3);
    if(pos)
          str3[pos] = 'a';
  }
  int ans;
  for(int j = 0; j<l3; j++)
  {
      if(str3[j] != 'a')
      {
        ans = 0;
        break;
      }
      ans = 1;
  }
  if(ans)printf("YES");
  else printf("NO");
}

}

int isin(char alpha, char *s)
{
  for(int i = 0; s[i] != '\0'; i++)
  {
    if(s[i] == alpha)
        return i;
  }
  return -1;
}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#include<math.h>
#define MAX 1000

int main()
{
    char stringA[MAX],stringB[MAX],stringC[MAX],stringD[MAX],t;
    int a,b,c,i,j,brojac=0;
    gets(stringA);
    gets(stringB);
    gets(stringC);
    a=strlen(stringA);
    b=strlen(stringB);
    c=strlen(stringC);
    strcat(stringA,stringB);
    for(i=0; i<a+b; i++)
    {
        for(j=i+1; j<a+b; j++)
        {
            if(stringA[i]>stringA[j])
            {
                t=stringA[i];
                stringA[i]=stringA[j];
                stringA[j]=t;
            }
        }
    }
    for(i=0; i<c; i++)
    {
        for(j=i+1; j<c; j++)
        {
            if(stringC[i]>stringC[j])
            {
                t=stringC[i];
                stringC[i]=stringC[j];
                stringC[j]=t;
            }
        }
    }
    for(i=0; i<c; i++)
    {
        if(stringA[i]!=stringC[i])
        {
            brojac++;
        }
    }
    if(brojac==0)
    {
        printf("YES\n");
    }
    else
    {
        printf("NO\n");
    }
    return 0;
}

#include<stdio.h>
#include<string.h>
int main(){
    int i,j,e=0,x,y,z;
    char a[101],b[101],c[202],d[202];
    scanf("%s%s%s",a,b,c);

    for(i=0;i<strlen(c);i++){
        for(j=0;j<strlen(c);j++){
           if(c[i]<c[j]){
               x=c[j];
               c[j]=c[i];
               c[i]=x;
           }

        }
    }

      for(i=0;i<strlen(a)+strlen(b);i++){
      if(i<strlen(a)){
          d[i]=a[i];
      }
      else{
          d[i]=b[e];
          e++;
      }

    }

      for(i=0;i<strlen(a)+strlen(b);i++){
        for(j=0;j<strlen(a)+strlen(b);j++){
           if(d[i]<d[j]){
               x=d[j];
               d[j]=d[i];
               d[i]=x;
           }

        }
    }

   if(strlen(c)!=strlen(d)){
       printf("NO\n");
       return 0;
   }
   for(i=0;i<strlen(c);i++){
       if(c[i]!=d[i]){
           printf("NO\n");
           return 0;
       }

   }

   printf("YES\n");

}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{
    char k[200],l[200],m[200],t;
    int c=1,i,j,y,sm;
    scanf("%s %s %s",&k,&l,&m);
    sm=strlen(m);
    for(i=0;i<strlen(k)&&c==1;i++)
    {
        for(j=0;j<sm;j++)
            if(k[i]==m[j])
            {
                for(y=j;y<sm;y++)
                {
                    m[y]=m[y+1];
                }
                sm--;
                break;
            }
            if(j==sm&&(sm!=1))
            c=0;

    }
    for(i=0;i<strlen(l)&&c==1;i++)
    {
        for(j=0;j<sm;j++)
            if(l[i]==m[j])
            {
                for(y=j;y<sm;y++)
                {
                    m[y]=m[y+1];
                }
                sm--;
                break;
            }
        if(j==sm&&(sm!=0))
            c=0;

    }
    if(sm==0&&c==1)
        printf("YES");
    else
        printf("NO");
    return 0;
}

#include<stdio.h>
#include<string.h>
int main()
{
	char a[101], b[101], c[101], d[1001];
	int i, j, l = 0;
	gets(a);
	gets(b);
	gets(c);
	for (i = 0; i < strlen(a); i++)
		for (j = 0; j < strlen(c); j++)
			if (a[i] == c[j])
			{
				c[j] = '.';
				l++;
				break;
			}
	for (i = 0; i < strlen(b); i++)
		for (j = 0; j < strlen(c); j++)
			if (b[i] == c[j])
			{
				c[j] = '*';
				l++;
				break;
			}
	if (l == strlen(c))
		printf("YES\n");
	else
		printf("NO\n");
	return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(){
	char host[101], guest[101], pile[202], final[202];
	int i, j, check=0;
	int hostl, guestl, pilel;

	scanf("%s", &host);
	scanf("%s", &guest);
	scanf("%s", &pile);

	hostl = strlen(host);
	guestl = strlen(guest);
	pilel = strlen(pile);

	for(i=0;i<pilel;i++){
		for(j=0;j<hostl;j++){
			if(pile[i]==host[j]){
				host[j]='x';
				pile[i]='x';
				check=1;
			}
		}

		if(check==1)
			continue;

		for(j=0;j<guestl;j++){
			if(pile[i]==guest[j]){
				guest[j]='x';
				pile[i]='x';
			}
		}

		check=0;
	}

	if(!strcmp(guest, host)){
		strcat(final, host);
		strcat(final, guest);
		if(!strcmp(final, pile))
			printf("YES");
	}
	else
		printf("NO");

	return 0;
}

#include<stdio.h>
#include<string.h>

int main()
{
      char str1[101];
      char str2[101];
      char str[202];

      scanf("%s %s %s",str1,str2,str);

      if(strlen(str1)+strlen(str2) != strlen(str))
      {
            printf("lengthNO");
            return(0);
      }

      int i,j,found;

      for(i=0;i<strlen(str1);i++)
      {

            found = 0;
            for(j=0;j<strlen(str);j++)
            {
                  if(str1[i] == str[j])
                  {
                        str[j] = '0';
                        found = 1;
                  }
            }

            if(found == 0)
            {
                  printf("1NO");
                  return(0);
            }
      }

       for(i=0;i<strlen(str2);i++)
      {

            found = 0;
            for(j=0;j<strlen(str);j++)
            {
                  if(str1[i] == str[j])
                  {
                        str[j] = '0';
                        found = 1;
                  }
            }

            if(found == 0)
            {
                  printf("2NO");
                  return(0);
            }
      }

      printf("YES");

}

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
void sorting (char a[])
{
    char c;
    int i,j;
    for(j=0;j<strlen(a);j++)
    {
        for(i=0;i<strlen(a)-1;i++)
        {
            if(a[i]>a[i+1])
            {
             c=a[i];
             a[i]=a[i+1];
                a[i+1]=c;
            }
        }
    }
}

int main()
{
    int i,j=0;
    char a[100],b[100],c[200],d[200];
    gets(a);
    gets(b);
    gets(c);
    //if(strlen(a)+strlen(b)!=strlen(c)){   printf("NO");   }

        for(i=0;i<strlen(a);i++)
        { d[i]=a[i]; }
        for(i=strlen(a);i<strlen(c);i++)
        { d[i]=b[j]; j++; }
        sorting(c);
        sorting(d);
        /*for(i=0;i<strlen(a)+strlen(b);i++)
        {
         printf("%c\t%c\n",c[i],d[i]);
        }*/
        int f=0;
        for(i=0;i<strlen(a)+strlen(b);i++)
        {
            if(c[i]!=d[i])
                {f=1;}
                //printf("%d\n",f);
        }
        if(f==0){printf("YES");}
        else{printf("NO");}

    return 0;
}