semeru/Code-Code-CloneDetection-POJ104 huggingface dataset:
int main()
{
	char a[100],b[100];
	cin >> a >> b;
	int i,j,l1,l2,flag=0;
	l1=strlen(a);
	l2=strlen(b);
	if(l1!=l2)
		flag=1;
	else
		for(i=0;i<l1;i++)
		{
			int k=0;
			for(j=0;j<l2;j++)
				if(a[i]==b[j])
				{
					a[i]=0;
					b[j]=0;
					k=1;
				}
				if(k==0)
				{
					flag=1;
					break;
				}
		}
		if(flag==0)
			cout << "YES" << endl;
		else
			cout << "NO" << endl;
		return 0;
}
/* Note:Your choice is C IDE */
void main()
{
	int i,j,x;
	char temp,a[100],b[100];
	scanf("%s %s",&a,&b);
	if ((x=strlen(a))!=strlen(b)) printf("NO");
	else
	{
		for (i=0;i<x-1;i++)
		{
			for (j=i+1;j<x;j++)
			{
				if (a[i]>a[j])
				{
					temp=a[i];a[i]=a[j];a[j]=temp;
				}
				if (b[i]>b[j])
				{
					temp=b[i];b[i]=b[j];b[j]=temp;
				}
			}
			if (a[i]!=b[i]) break;
		}
		if (i==x-1) printf("YES");
		else printf("NO");
	}
}
void main()
{
     int rearrange(char s1[],char s2[]);
     int result;
     char s1[N],s2[N];
     scanf("%s %s",s1,s2);
     result=rearrange(s1,s2);
     if(1==result)
            printf("YES\n");
     else if(0==result)
            printf("NO\n");
}
int rearrange(char s1[], char s2[])
{ 
        int count1[128]={0}, count2[128]={0};
        int len1,temp;
        len1=strlen(s1); temp=strlen(s2);
        if( len1!=temp) return 0;
        for(temp=0; temp<len1; ++temp)
       { count1[s1[temp]]++; count2[s2[temp]]++;}
        for(temp=0;temp<128; ++temp)
               if(count1[temp]!=count2[temp]) 
                         return 0;
        return 1;
}
void main()
{
 char a[20]={0},b[20]={0},t;
 int i,j,flag=0,n1=0,n2=0;
scanf("%s %s",a,b);
 n1=strlen(a);
 n2=strlen(b);
 for(i=0;i<n1-1;i++)
 {
  for(j=0;j<n1-1-i;j++)
  {
   if(a[j]<a[j+1])
   {
    t=a[j];
    a[j]=a[j+1];
    a[j+1]=t;
   }
  }
 }
 for(i=0;i<n2-1;i++)
 {
  for(j=0;j<n2-1-i;j++)
  {
   if(b[j]<b[j+1])
   {
    t=b[j];
    b[j]=b[j+1];
    b[j+1]=t;
   }
  }
 }
 if(n1==n2)
  flag=1;
 else
  flag=0;
 if(flag=1)
 {
  for(i=0;i<n1;i++)
  {
   if(a[i]!=b[i])
   {
    flag=0;
    break;
   }
   else
    flag=1;
  }
 }//??
 if(flag==0)
  printf("NO");
 else
  printf("YES");
 printf("\n");
}
int main()
{
	char ch[101],str[101];
	int i,j,k,m,n;
	scanf("%s",ch);
	m=strlen(ch);
	scanf("%s",str);
	n=strlen(str);
	k=0;
	if (m!=n)
		printf("NO");
	else
	{
		for (i=0;i<m;i++)
		{
			for (j=0;j<m;j++)
			{
				if (ch[i]==str[j])
				{
					k=k+1;
					str[j]=' ';
					break;
				}
			}
		}
		if (k==m)
		printf("YES");
		else
			printf("NO");
	}
	return 0;
}
int main (){
	char a[20],b[20];
	cin>>a>>b;
	if(strlen(a)!=strlen(b))
	{
		cout<<"NO"<<endl;
		return 0;
	}
	int le1[52],le2[52];
	for(int i=0;i<52;i++)
		le1[i]=le2[i]=0;
	int len1=strlen(a);

for(int i=0;i<len1;i++){
	if(a[i]>='a')
		le1[a[i]-'a']++;
	else le1[a[i]-'A'+26]++;
}
for(int i=0;i<len1;i++){
	if(b[i]>='a')
		le2[b[i]-'a']++;
	else le2[b[i]-'A'+26]++;
}
int j;
for( j=0;j<52;j++)
	if(le1[j]!=le2[j]){
		cout<<"NO"<<endl;
		return 0;
	}

	cout<<"YES"<<endl;
return 0;




}
/*
 * 1.cpp
 *
 *  Created on: 2011-12-25
 *      Author: Administrator
 */
int main()
{
	int i,l,k;
	int a[200]={0};
	char s1[200],s2[200];
	cin>>s1;
	cin>>s2;
	l=strlen(s1);
	k=strlen(s2);
	if(k!=l){
		cout<<"NO"<<endl;
		return 0;
	}
	memset(a,0,sizeof(a));
	for(i=0;i<l;i++)a[s1[i]]++;
	for(i=0;i<k;i++)a[s2[i]]--;
	for(i=1;i<130;i++)
		if(a[i]!=0){
		
			cout<<"NO"<<endl;
			return 0;
		}
	cout<<"YES"<<endl;
	return 0;
}
void change(char x[50],int n)
{
	int i,j;
	char tem;
	for(i=0;i<n;i++)
		for(j=i+1;j<n;j++)
		if(x[i]>x[j])
		{
			tem=x[j];
			x[j]=x[i];
			x[i]=tem;
		}
}
void main()
{
	int len,n,i;
	char a[100],b[50],c[50];
	gets(a);
	len=strlen(a);
	if(len%2==0)
		printf("NO");
	else
	{
	n=(len-1)/2;
	for(i=0;i<n;i++)
	{
		b[i]=a[i];
		c[i]=a[i+n+1];
	}
	change(b,n);
	change(c,n);
	for(i=0;b[i]==c[i]&&i<n;)
		i++;
	if(i==n)
		printf("YES");
	else
		printf("NO");
}
}
main()
{
	int n,i,j,l,l1,t,c[1000],d[1000];
	char a[1000],b[1000];
	scanf("%s%s",a,b);
	l=strlen(a);l1=strlen(b);
	if (l==l1) 
	
	{ 	for(i=0;i<l;i++)
	{ c[i]=0;d[i]=0;}
	for(i=0;i<l;i++)
	{  for (j=0;j<l;j++)
	if (a[i]==b[j]&&d[j]==0) {d[j]=1;c[i]=1;break;}
	}
	
	t=0;
	for(i=0;i<l;i++)
	{ 
	if (c[i]==0) {t=1;break;}}
	if(t==1) printf("NO");
	else printf("YES");
	}
	if (l!=l1) printf("NO");
}
int main()
{
	char s[100],w[100];
	int n,m,i,j,count=0;
	scanf("%s%s",s,w);
	n=strlen(w);
	m=strlen(s);
	if(n!=m){
		printf("NO");
		return 0;
	}
	else{
		for(i=0;i<n;i++){
			for(j=0;j<n;j++){
				if(s[i]==w[j]){
					count++;
					w[j]=' ';
					break;}
			}
		}
		if(count==n)
			printf("YES");
		else printf("NO");
		return 0;
	}
}
/*
 * temperary.cpp
 *
 *  Created on: 2011-12-25
 *      Author: ???
 */

void sort(char a[],int n){//?asc2?????
	int i,j;
	char t;
	for(i=0;i<n-1;i++){
		for(j=i+1;j<n;j++){
			if(a[i]>a[j]){
				t=a[i];a[i]=a[j];a[j]=t;
			}
		}
	}
}
int main() {
	char a[100],b[100];
	cin>>a>>b;
	int l1=strlen(a),l2=strlen(b);
	if(l1!=l2)cout<<"NO"<<endl;//???????NO
	else{
		sort(a,l1);sort(b,l2); //?????????
		if(strcmp(a,b)==0)cout<<"YES"<<endl;//????????YES???NO
		else cout<<"NO"<<endl;
	}
	return 0;
}
int main(int argc, char *argv[])
{
	char w1[100]={' '},w2[100]={' '};
	int len1,len2,i,j,temp;
	scanf("%s",w1);	len1=strlen(w1);
	scanf("%s",w2);	len2=strlen(w2);
	for(j=0;j<len1-1;j++){
		for(i=len1-1;i>j;i--){
			if(w1[i]<w1[i-1]){
				temp=w1[i];w1[i]=w1[i-1];w1[i-1]=temp;
			}
		}
	}
	for(j=0;j<len2-1;j++){
		for(i=len2-1;i>j;i--){
			if(w2[i]<w2[i-1]){
				temp=w2[i];w2[i]=w2[i-1];w2[i-1]=temp;
			}
		}
	}
	if(strcmp(w1,w2)==0)	printf("YES");
	else	printf("NO");
	return 0;
}
int main()
{
	char a[1000]={0},b[1000]={0};
	int i=0,n=0;
	cin.getline(a,1000,' ');
	cin.getline(b,1000,'\n');
	for(i=0;a[i]!=0;i++)
		n++;
	for(int x=0;x<n;x++)
	{
		for(int y=0;y<n-1;y++)
		{
			if(a[y]>a[y+1])
			{
				char temp;
				temp=a[y];
				a[y]=a[y+1];
				a[y+1]=temp;
			}
		}
	}
	for(int x=0;x<n;x++)
	{
		for(int y=0;y<n-1;y++)
		{
			if(b[y]>b[y+1])
			{
				char temp;
				temp=b[y];
				b[y]=b[y+1];
				b[y+1]=temp;
			}
		}
	}
	if(!strcmp(a,b))
		cout<<"YES"<<endl;
	else 
		cout<<"NO"<<endl;
	return 0;
}
void main()
{
	char c1[1000],c2[1000];
	int i,j,k=0,l1,l2,x[1000];
	for(i=0;i<100;i++)
		x[i]=-1;
	scanf("%s%s",c1,c2);
	l1=strlen(c1);l2=strlen(c2);
	if(l1!=l2)
		printf("NO");
	else
	{
		for(i=0;i<l1;i++)
		{
			for(j=0;j<l2;j++)
			{
				for(k=0;k<=i;k++)
				{
					if(j==x[k])
						goto loop;
				}
				if(c1[i]==c2[j])
					x[i]=j;
loop:if(1);
			}
		}
		for(i=0;i<l1;i++)
		{
			if(x[i]!=-1)
				continue;
			else
			{
				printf("NO");
				goto loop1;
			}
		}
		printf("YES");
loop1:if(1);
	}
}
int main()
{
    char a[100],b[100];
    int i,j,k1,k2,l,l0;
    cin>>a;
    cin>>b;
    l=strlen(a);
    l0=strlen(b);
    if(l==l0)
    {
    k1=k2=l;
    for(i=0;i<l;i++)
    {
        for(j=0;j<l;j++)
        {
            if(a[i]==b[j])
            {
                k2--;
                b[j]='0';
                break;
            }
        }
        k1--;
    }
    if(k1==0&&k2==0)
    cout<<"YES";
    else
    cout<<"NO";
    }
    else
    cout<<"NO";
   
    return 0;
}
int cmp(char *a,char *b)
{
    return *a-*b;
}
int main()
{
    char a[M],b[M];
    int len1,len2;
    scanf("%s%s",a,b);
    len1=strlen(a);
    len2=strlen(b);

    if(len1==len2)
    {
        qsort(a,len1,sizeof(a[0]),cmp);
        qsort(b,len2,sizeof(b[0]),cmp);
        if(strcmp(a,b))
        {
            printf("NO\n");
        }else
        {
            printf("YES\n");
        }
    }
    else
    {
        printf("NO\n");
    }


    return 0;

}
void main()
{
    char str1[100],str2[100];
    int i,j,a,b,l1,l2;
    scanf("%s",str1);
    scanf("%s",str2);
    l1=strlen(str1);l2=strlen(str2);
    a=1;
    if(l1!=l2) a=0;
    else
    {
    	for (i=0;i<l1;i++)
		{
			b=0;
			for (j=0;j<l1;j++)
				if (str2[j]==str1[i])
				{
					b=1;
					str2[j]=' ';
					break;
				}
			if (b==0) a=0;
		}
    }
    if(a==1) printf("YES");
    else printf("NO");
}
void main()
{   
	int  i,j,n=0,temp1,temp2;
	char c1[100],c2[100];
	scanf("%s",c1);
	scanf("%s",c2);

	if(strlen(c1)!=strlen(c2))
	{
		printf("NO");
	}

	else
	{
		for(i=0;i<strlen(c1)-1;i++)
		{
			for(j=0;j<strlen(c1)-1-i;j++)
			{
				if(c1[j]>c1[j+1])
				{
					temp1=c1[j];
				    c1[j]=c1[j+1];
				    c1[j+1]=temp1;
				}
			}
		}
		for(i=0;i<strlen(c2)-1;i++)
		{
			for(j=0;j<strlen(c2)-1-i;j++)
			{
				if(c2[j]>c2[j+1])
				{
					temp2=c2[j];
				    c2[j]=c2[j+1];
				    c2[j+1]=temp2;
				}
			}
		}
		
		for(i=0;i<strlen(c1);i++)
		{
			if(c1[i]==c2[i])
			{
				n++;
			}
			
		}
		if(n==strlen(c1))
		{
			printf("YES");
		}
		else
		{
			printf("NO");
		}


	}
}
void main()
{
	int m,n,p[100]={0},q[100]={0},num=0;
	int i,j,num1[200]={0},num2[200]={0};
	char a[100],b[100];
	scanf("%s%s",a,b);
	m=strlen(a);
	n=strlen(b);
	if(m!=n)
		printf("NO\n");
	else 
	{
		for(i=0;i<m;i++)
		{
			for(j=i;j<m;j++)
			{
				if(p[j]==0&&a[j]==a[i])
				{
					num1[(int)a[i]]++;
					p[j]=1;
				}
			}
		}
         i=0;
		 j=0;
        for(i=0;i<n;i++)
		{
			for(j=i;j<n;j++)
			{
				if(q[j]==0&&b[j]==b[i])
				{
					num2[(int)b[i]]++;
					q[j]=1;
				}
			}
		}
		for(i=32;i<123;i++)
		{
			if(num1[i]==num2[i])
				num++;
		}
	
		if(num==91)
			printf("YES\n");
		else printf("NO\n");
	
	}
}
int main()
{
	char str[100],str1[100];
	scanf("%s %s",str,str1);
	int i,j,len = strlen(str),len1 = strlen(str1);
	if(len != len1)
		printf("NO\n");
	else{
		for(i = 0;i < len - 1;i++){
			for(j = i + 1;j < len;j++){
				if(str[i] > str[j]){
					char temp = str[i];
					str[i] = str[j];
					str[j] = temp;
				}
			}
		}
		for(i = 0;i < len1 - 1;i++){
			for(j = i + 1;j < len1;j++){
				if(str1[i] > str1[j]){
					char temp = str1[i];
					str1[i] = str1[j];
					str1[j] = temp;
				}
			}
		}
		if(strcmp(str,str1) == 0)
			printf("YES\n");
		else
			printf("NO\n");
	}
	return 0;
}
int main()
{
	char a[10000],b[10000];

	int s1,i,j,s2;
	int p=1;
	for(i=0;i<100;i++)
		a[i]=b[i]='\0';
	scanf("%s%s",a,b);
	s1=strlen(a);
	s2=strlen(b);
	if(s1!=s2) printf("NO");
	else
	{
		for(i=0;i<s1;i++)
			for(j=0;j<s1;j++)
			{
				if(a[i]==b[j])
				{	a[i]='\0';
					b[j]='\0';
				}
			}
		for(i=0;i<s1;i++)
			if(a[i]!='\0')
				p=0;
		if(p) printf("YES");
		else printf("NO");
	}
	return 0;
}
int main(){
	int i,j,x,y,e,c;
	char a[100],b[100];
	scanf("%s",a);
	scanf("%s",b);
	x=strlen(a);
	y=strlen(b);
	if(x!=y) printf("NO");
	else{
		for(i=0;i<x;i++){
			for(j=0;j<x;j++){
				if(a[i]==b[j]){
					e=b[i];
					b[i]=b[j];
					b[j]=e;
				}
			}
		}
		c=strcmp(a,b);
		if(c==0)
			printf("YES");
		else
			printf("NO");
	}
	 return 0;
}
int main() {
	char a[1001], b[1001];
	int la, lb, x[57] = { 0 }, y[57] = { 0 }, i,j,k;
	cin >> a >> b;
	la = strlen(a);
	lb = strlen(b);
	//cout<<la<<' '<<lb<<endl;
	for (i = 0; i < la; i++)
		x[a[i] - 'A']++;
	for (j = 0; j < lb; j++)
		y[b[j] - 'A']++;
	//cout<<y[49]<<endl;
	//cout<<x[49]<<endl;
	for (k = 0; k < 57; k++) {
		if (x[k] != y[k])
			break;
	}
	if (k == 57)
		cout << "YES" << endl;
	else
		cout << "NO" << endl;
	return 0;
}
void main()
{
	char s1[100],s2[100];
	int i,j,l1,l2,o=0;
	scanf("%s%s",s1,s2);
	l1=strlen(s1);
	l2=strlen(s2);
	if(l1==l2)
	{
	    for(i=0;s1[i]!='\0';i++)
			for(j=0;s2[j]!='\0';j++)
			{
								if(s2[j]=='0') continue;
				if(s1[i]==s2[j])
				{
					s2[j]='0';
					o++;
					break;
				}
			}
			if(o==l1)
				printf("YES\n");
			else
				printf("NO\n");
	}
	else
		printf("NO\n");
}
void swap(char a[],int n)
{
	int i,j;
	char t;
	for(j=0;j<n;j++)
		for(i=0;i<n-j-1;i++)
		if(a[i]>a[i+1])
		{
			t=a[i];
			a[i]=a[i+1];
			a[i+1]=t;
		}

}
void main()
{
	char a[20];
	char b[20];
	scanf("%s %s",a,b);
	int al,bl;
	al=strlen(a);
	bl=strlen(b);
    swap(a,al);
	swap(b,bl);
	if(strcmp(a,b)==0)
		printf("YES\n");
	else 
		printf("NO\n");
}
void paixu(char s[])
{
	int i,j,t,n;
	n=strlen(s);
	for(i=1;i<n;i++)
	{
		for(j=0;j<n-i;j++)
		{
			if(s[j]<s[j+1])
			{
				t=s[j];
				s[j]=s[j+1];
				s[j+1]=t;
			}
		}
	}
}
main()
{
	char a[100],b[100];
	int i,j,la,lb,k;
	scanf("%s %s",a,b);
	la=strlen(a);
	lb=strlen(b);
		paixu(a);
	   paixu(b);
	   k=strcmp(a,b);
	   if(k==0)
	   printf("YES");
	   else printf("NO");
	
}
void main()
{
	char s1[1000],s2[1000],n,n1,i,j,k;
	scanf("%s %s",&s1,&s2);
	n=strlen(s1);
	n1=strlen(s2);
	for(i=0;i<n;i++)
		for(j=0;j<n1;j++)
			if(s2[j]==s1[i]){s2[j]=0;s1[i]=0;}
	for(j=0,k=0;j<n1;j++)
		if(s2[j]!=0)k++;
    for(j=0;j<n;j++)
		if(s1[j]!=0)k++;
	if(k==0)printf("YES");
	else printf("NO");	
}
void main()
{
	int m,n,i,j,z=0,x,y;
	char a[100];char b[100];
	scanf("%s%s",a,b);
	m=strlen(a);
	n=strlen(b);
	if(m==n)
	{
		for(i=0;i<m-1;i++)
		{
			for(j=0;j<m-i;j++)
			{
				if(a[j]>a[j+1])
				{
					x=a[j+1];
					a[j+1]=a[j];
					a[j]=x;
				}
				if(b[j]>b[j+1])
				{
					y=b[j+1];
					b[j+1]=b[j];
					b[j]=y;
				}
			}
		}
		for(i=0;i<m;i++)
		{
			if(a[i]==b[i])
				z=z+1;
		}
		if(z==m)
			printf("YES");
		else
			printf("NO");
	}
	if(m!=n)
		printf("NO");
}
int main()
{
    char a[N],b[N],ch;
    int i,j,n1,n2;
    scanf("%s%s",a,b);
    n1=strlen(a);
    n2=strlen(b);
    for(i=1;i<n1;i++)
        for(j=n1-1;j>=i;j--)
            if(a[j]<a[j-1])
            {
                ch=a[j];
                a[j]=a[j-1];
                a[j-1]=ch;
            }
    for(i=1;i<n2;i++)
        for(j=n2-1;j>=i;j--)
            if(b[j]<b[j-1])
            {
                ch=b[j];
                b[j]=b[j-1];
                b[j-1]=ch;
            }
    if(strcmp(a,b)==0)
        printf("YES\n");
    else
        printf("NO\n");

    return 0;
}
int main()
{
char a[1000],b[1000],c;
scanf("%s %s",a,b);
int n,i,j;
n=0;
for(i=0;a[i]!='\0';i++)
{	
n++;
}
for(j=0;j<n;j++)
{
  for(i=0;i<n-1-j;i++)
  {
    if(a[i]>a[i+1])
	{
		c=a[i];
	    a[i]=a[i+1];
		a[i+1]=c;
    } 
  }

}
n=0;
for(i=0;b[i]!='\0';i++)
{	
n++;
}
for(j=0;j<n;j++)
{
  for(i=0;i<n-1-j;i++)
  {
    if(b[i]>b[i+1])
	{
		c=b[i];
	    b[i]=b[i+1];
		b[i+1]=c;
    } 
  }

}
if(strcmp(a,b)==0)
printf("YES");
else
printf("NO");

return 0;

}
int compare(char a,char b[100],char c[100])
{
	int z,i,j=0,k=0;
	for(i=0;b[i]!='\0';i++)
	{
		if(b[i]==a)
			j++;
		if(c[i]==a)
			k++;
	}
	if(j!=k)
		z=0;
	else
		z=1;
	return(z);
}
void main()
{
	char a,s1[100],s2[100];
	int i,s,j,k;
	scanf("%s %s",s1,s2);
	j=strlen(s1);
	k=strlen(s2);
	if(j!=k)
		printf("NO");
	else 
	{
			for(a='!';a<='~';a++)
			{
				s=compare(a,s1,s2);
				if(s==0)
				{printf("NO");break;}
			}
			if(s==1)
				printf("YES");
	}
}
int main()
{
	char a[1000],b[1000];
	int i,j,k,l,s,m,p;
	scanf("%s %s",a,b);
	j=strlen(a);
	k=strlen(b);
	if(j!=k)
		printf("NO");
	else{
		m=0;
		for(l=0;l<j;l++)
		{s=0;p=0;
			for(i=0;i<j;i++)
		
		{if(a[l]==a[i])
		s++;
		if(a[l]==b[i])
			p++;}
			if(s==p)
				m++;}


		
		
		if(m==j) printf("YES");
		else printf("NO");}


}
int main()
{
	int i,j,flag=1;
	char a[100],b[100];
	scanf("%s",a);
	scanf("%s",b);
	for(i=0;i<strlen(a);i++)
	{
		for(j=0;j<strlen(b);j++)
		{
           if(a[i]==b[j])
		   {
			   a[i]=' ';
			   b[j]=' ';
		   }
		}
	}
	for(i=0;i<strlen(a);i++)
	{
		if(a[i]!=' ')
		{
			flag=0;
			break;
		}
	}
	for(j=0;j<strlen(b);j++)
	{
		if(b[j]!=' ')
		{
			flag=0;
			break;
		}
	}
	if(flag)
	{
		printf("YES\n");
	}
	else printf("NO\n");
	return 0;
}
int main()
{
	char a[100],b[100],temp;
	int len1,len2,i,j;
	scanf("%s%s",a,b);
	len1=strlen(a);
	len2=strlen(b);
	for(i=0;i<len1;i++)
	for(j=0;j<i;j++)
	{
		if(a[i]>a[j])
		{
			temp=a[i];
			a[i]=a[j];
			a[j]=temp;
		}
	}
	for(i=0;i<len2;i++)
	for(j=0;j<i;j++)
	{
		if(b[i]>b[j])
		{
			temp=b[i];
			b[i]=b[j];
			b[j]=temp;
		}
	}
	if(strcmp(a,b)==0)
	printf("YES");
	else
	printf("NO");
	return 0;
}
int f(char str1[100],char str2[100])
{char *p,*q;
int s,a[26],b[26],i=0;
	for (i=0;i<26;i++)
	{a[i]=0;b[i]=0;}
	for (p=str1;p<strlen(str1)+str1;p++)
	{/*printf("/%d/",*p);*/for (i=0;i<26;i++)
	if (*p==i+97) a[i]++;}
	for (q=str2;q<strlen(str2)+str2;q++)
		for (i=0;i<26;i++)
		if (*q==i+97)b[i]++;
	for (i=0;i<26;i++)
	{if (a[i]!=b[i]) break;
		
		}
if (i==26) printf("YES");
		else printf("NO");

	
}

void main()
{
	char str1[100],str2[100];
	scanf("%s %s",str1,str2);
	f(str1,str2);


}
void main()
{
	void same(char a[],char b[]);
	char a[1000],b[1000];
	scanf("%s%s",a,b);
	same(a,b);
}
void same(char a[],char b[])
{
	int i,j,t,n;
	if(strlen(a)==strlen(b))
	{
	for(j=0;j<strlen(a)-1;j++)
		for(i=0;i<strlen(a)-1-j;i++)
			if(a[i]>=a[i+1])
			{
				t=a[i];
				a[i]=a[i+1];
				a[i+1]=t;
			}
	for(j=0;j<strlen(b)-1;j++)
		for(i=0;i<strlen(b)-1-j;i++)
			if(b[i]>=b[i+1])
			{
				t=b[i];
				b[i]=b[i+1];
				b[i+1]=t;
			}
	for(i=0,n=0;i<strlen(a)-1;i++)
	{
		if(a[i]==b[i])
			n++;
		else break;
	}
	if(n==strlen(a)-1)
		printf("YES");
	else
		printf("NO");
	}
	else
		printf("NO");
}
int main()
{
	char a[100],b[100],c[200];
	int len,len1,len2,i,j,temp,judge=0;
	cin.getline(c,200);
	len=strlen(c);
	len1=(len-1)/2;
	len2=len1;
	for(i=0;i<len1;i++)
		a[i]=c[i];
	for(i=0;i<len2;i++)
		b[i]=c[len-1-i];
	for(i=0;i<len1-1;i++)
		for(j=0;j<len1-1-i;j++)
			if(a[j]<a[j+1])
			{
				temp=a[j];
				a[j]=a[j+1];
				a[j+1]=temp;
			}
	for(i=0;i<len1-1;i++)
			for(j=0;j<len1-1-i;j++)
				if(b[j]<b[j+1])
				{
					temp=b[j];
					b[j]=b[j+1];
					b[j+1]=temp;
				}
	for(i=0;i<len1;i++)
		if(a[i]!=b[i]){
			judge++;
	}
	if(judge==0)
		cout<<"YES";
	else
		cout<<"NO";
	return 0;
}
main()
{
	char a[100]={0},b[100]={0};
	int alpha1[256]={0},alpha2[256]={0},n,n1,n2,i,j=0;
	scanf("%s %s",a,b);
	n1=strlen(a);
	n2=strlen(b);
	if (n1>n2) n=n1;
	else n=n2;
	for(i=0;i<n;i++)
	{
		alpha1[a[i]]++;
		alpha2[b[i]]++;
	}
	for(i='a';i<='z';i++)
	{
		if (alpha1[i]!=alpha2[i]) j=1;
	}
	for(i='A';i<='Z';i++)
	{
		if (alpha1[i]!=alpha2[i]) j=1;
	}
	if(j==0)printf("YES\n");
	else printf("NO\n");
}
int an1[max+10];
int an2[max+10];
char sz1[max+10];
char sz2[max+10];

int main()
{
	
	int i,j=0,sum,x1=0,x2=0,x3=0,x4=0,x5=0,x6=0,x7=0,x8=0,x9=0,x10=0,x11=0,x12=0,x13=0;
	int	x14=0,x15=0,x16=0,x17=0,x18=0,x19=0,x20=0,x21=0,x22=0,x23=0,x24=0,x25=0,x26=0;
	int y1=0,y2=0,y3=0,y4=0,y5=0,y6=0,y7=0,y8=0,y9=0,y10=0,y11=0,y12=0,y13=0,y14=0,y15=0,y16=0,y17=0,y18=0,y19=0,y20=0;
	int y21=0,y22=0,y23=0,y24=0,y25=0,y26=0;
	
	scanf("%s",sz1);
	scanf("%s",sz2);
	
	int nlen1=strlen(sz1);
	int nlen2=strlen(sz2);
	
	for(i=nlen1-1;i>=0;i--)
	{
		an1[j++]=sz1[i];}
	for(i=nlen2-1;i>=0;i--)
	{
		an2[j++]=sz2[i];}
	for(i=0;i<=max;i++){
		if(an1[i]=='a')
			x1++;
		else if(an1[i]=='b')
			x2++;
		else if(an1[i]=='c')
			x3++;

		else if(an1[i]=='d')
			x4++;

		else if(an1[i]=='e')
			x5++;

		else if(an1[i]=='f')
			x6++;

		else if(an1[i]=='g')
			x7++;

		else if(an1[i]=='h')
			x8++;

		else if(an1[i]=='i')
			x9++;
		else if(an1[i]=='j')
			x10++;
		else if(an1[i]=='k')
			x11++;
		else if(an1[i]=='l')
			x12++;

		else if(an1[i]=='m')
			x13++;
		else if(an1[i]=='n')

			x14++;
		else if(an1[i]=='o')
			x15++;
		else if(an1[i]=='p')
			x16++;

		else if(an1[i]=='q')
			x17++;

		else if(an1[i]=='r')
			x18++;

		else if(an1[i]=='s')
			x19++;

		else if(an1[i]=='t')
			x20++;

		else if(an1[i]=='u')
			x21++;

		else if(an1[i]=='v')
			x22++;
		else if(an1[i]=='w')
			x23++;

		else if(an1[i]=='x')
			x24++;

		else if(an1[i]=='y')
			x25++;
		else if(an1[i]=='z')
			x26++;
	}
	for(i=0;i<=max;i++){
		if(an2[i]=='a')
			y1++;
		else if(an2[i]=='b')
			y2++;
		else if(an2[i]=='c')
			y3++;

		else if(an2[i]=='d')
			y4++;

		else if(an2[i]=='e')
			y5++;

		else if(an2[i]=='f')
			y6++;

		else if(an2[i]=='g')
			x7++;

		else if(an2[i]=='h')
			y8++;

		else if(an2[i]=='i')
			y9++;
		else if(an2[i]=='j')
			y10++;
		else if(an2[i]=='k')
			y11++;
		else if(an2[i]=='l')
			y12++;

		else if(an2[i]=='m')
			y13++;
		else if(an2[i]=='n')

			y14++;
		else if(an2[i]=='o')
			y15++;
		else if(an2[i]=='p')
			y16++;

		else if(an2[i]=='q')
			y17++;

		else if(an2[i]=='r')
			y18++;

		else if(an2[i]=='s')
			y19++;

		else if(an2[i]=='t')
			y20++;

		else if(an2[i]=='u')
			y21++;

		else if(an2[i]=='v')
			y22++;
		else if(an2[i]=='w')
			y23++;

		else if(an2[i]=='x')
			y24++;

		else if(an2[i]=='y')
			y25++;
		else if(an2[i]=='z')
			y26++;
	}

if(x1==y1 &&x2==y2 &&x3==y3 &&x4==y4 &&x5==y5 &&x6==y6 &&x7==y7 &&x8==y8 &&x9==y9 &&x10==y10 &&x11==y11 &&x12==y12 &&x13==y13 &&x14==y14 &&x15==y15 &&x16==y16 &&x17==y17 &&x18==y18 &&x19==y19 &&x20==y20 &&x21==y21 &&x22==y22 &&x23==y23 &&x24==y24 &&x25==y25 &&x26==y26)
printf("YES");
else
printf("NO");





}
int main()
{
	int flag=1;
	char s1[M],s2[M];
	unsigned int t1,t2,i,j,k;
	scanf("%s %s",s1,s2);
	t1=strlen(s1);
	t2=strlen(s2);
	if(t1!=t2) printf("NO\n");
	else
	{
		for(i=0;i<t1;i++)
		{
			for(j=0;j<strlen(s2);j++)
		 	if(s2[j]==s1[i])
		 	{
		 		for(k=j;k<=strlen(s2);k++)
		 			s2[k]=s2[k+1];
		 	}
		 
		}
		if(!strlen(s2)) printf("YES");
		else printf("NO");
		printf("\n");
	}
	return 0;
}
void find(int a[52],char str[100])
{
	int i=0,k=0;
	for(i=0;i<52;i++)
		a[i]=0;
	for(k=0;str[k]!='\0';k++)
	{
		for(i=0;i<26;i++)
		{
		    if(str[k]=='a'+i)
			a[i]++;
		}
	}
	for(k=0;str[k]!='\0';k++)
	{
		for(i=0;i<26;i++)
		{
			if(str[k]=='A'+i)
				a[i+26]++;
		}
	}
}
void main()
{
	char str1[100],str2[100];
	int a[52],b[52],i,n=0;
	scanf("%s %s",str1,str2);
	find(a,str1);
	find(b,str2);
	for(i=0;i<52;i++)
	{
		if(a[i]==b[i])
			n++;
	}
	if(n==52)
		printf("YES") ;
	else
		printf("NO");
}
int main(){
	char str1[100]={0},str2[100]={0},*p,*q;
	cin>>str1>>str2;
	int len1 = strlen(str1),len2 = strlen(str2),flag;
	if(len1 != len2){
		cout<<"NO"<<endl;
		return 0;
	}
	for(p = str1;p < str1 + len1;++p){
		flag = 0;
		for(q = str2;q < str2 + len2;++q){
			if(*p == *q){
				*q = 0;
				++flag;
				break;
			}
		}
		if(!flag){
			cout<<"NO"<<endl;
			return 0;
		}
	}
	cout<<"YES"<<endl;
	return 0;
}
int main(){
	int n,i,k;
	char s1[200],s2[200];
	scanf("%s",s1);
	scanf("%s",s2);
	if(strlen(s1)!=strlen(s2)){
		printf("NO");
		return 0;
	}
	for(i=0;s1[i];i++){
		n=0;
		for(k=0;s2[k];k++){
			if(s2[k]==s1[i]){
				s2[k]=' ';
				n=1;
				break;
			}
		}
		if(n==0){
			printf("NO");
			return 0;
		}
	}
	printf("YES");
	//scanf("%d",&n);
	return 0;
}
int search(char a[],char b[],int i,int x)
{
    int q;    
    for(q=0;q<=x-1;q++)
    {if(b[q]==a[i])
    {b[q]='0';
    return(q);}
    }
    return(-1);
}
    
int main(int argc, char *argv[])
{
  
    char a[30],b[30];
    int m,i,j,z,n;
    scanf("%s",a);
    scanf("%s",b);
m=strlen(a);
n=strlen(b);
if(m!=n)
printf("NO\n");
else
    {for(i=0;i<=m-1;i++)
    {z=search(a,b,i,m);
    if(z==-1)
      {printf("NO\n");
       break;}
    }
    if(z!=-1)
    printf("YES\n"); } 
    
  

  return 0;
}
void main()
{
	char str1[50],str2[50],*p;
	int a,b,i,j,c[20],d=0;
	scanf("%s%s",&str1,&str2);
	a=strlen(str1);
	b=strlen(str2);
p=str2;
	if(a==b)
	{{for(i=0;i<a;i++)
	{c[i]=0;
		for(p=str2;p<a+str2;p++)
	{if(str1[i]==*p)
		{c[i]=1;continue;}
		}
	}}
for(i=0;i<a;i++)
	{if(c[i]==0)
{d=1;break;}}
if(d==1)
{printf("NO");}
else
printf("YES");
}
	else
		printf("NO");
}
int main()
{
	char a[100],b[100],flaga[100],flagb[100],bool1=1,bool2=1;
	unsigned int i,j;
	for(i=0;i<100;i++){flaga[i]=0;flagb[i]=0;}
	scanf("%s",a);scanf("%s",b);
	for(i=0;a[i]!='\0';i++)
	{
		for(j=0;b[j]!='\0';j++)if(a[i]==b[j]){flaga[i]=1;flagb[j]=1;}
	}
	for(i=0;i<strlen(a);i++)if(flaga[i]==0)bool1=0;
	for(i=0;i<strlen(b);i++)if(flaga[i]==0)bool2=0;
	if(bool1&&bool2)printf("YES");
	else printf("NO");
	return 0;
}
int main()

{
  char a[100],b[100];
  int i,j,n,m,z;
   scanf("%s%s",a,b);
     n=strlen(a);
	 m=strlen(b);
	  for(i=0;i<n-1;i++)
		  for(j=0;j<n-1-i;j++)
		     if(a[j]<a[j+1])
		  {
		     z=a[j];
			 a[j]=a[j+1];
			 a[j+1]=z;
		  }

     for(i=0;i<m-1;i++)
		  for(j=0;j<m-1-i;j++)
		     if(b[j]<b[j+1])
		  {
		     z=b[j];
			 b[j]=b[j+1];
			 b[j+1]=z;
		  }
     if(strcmp(a,b)==0)
		 printf("YES");
	 else
		 printf("NO");

     return 0;
}//?????????????????????????
void main()
{
	char a[100],b[100];
	unsigned int i,j,t,s=1;
	scanf("%s%s",a,b);
	if(strlen(a)!=strlen(b))printf("NO");
	else
	{
		for(i=0;i<strlen(a);i++)
		{
			t=0;
			for(j=0;j<strlen(b);j++)
			if(a[i]==b[j])
			{
				b[j]=1;
				t=1;
				break;
			}
			if(t==0)s=0;
		}
	
	if (s)printf("YES");
	else printf("NO");}
}