#include<bits/stdc++.h>//万能头;
using namespace std;//好习惯;
#define int long long//十年OI一场空,不开long long见祖宗;
constexpr int maxn=1e5+10;//constexper 相较 const 好点;
int a[maxn];
char s[maxn];
signed main()//signed 与 万能头 搭配;
{
int t,n;
scanf("%lld",&n);
//因题目中“将 S 划分为若干子串*后以任意顺序拼接在一起使其等于 T”,所以无需思考S与T的字符排序;
scanf("%s",s+1);//读入目标字符串;
for(int i=1; i<=n; ++i)
{
a[s[i]-'a']++;//将 目标字符串每种字符 以Ascii码为索引 计数;
}
scanf("%s",s+1);//读入待处理的字符串;
for(int i=1; i<=n; ++i)
{
a[s[i]-'a']++;//将 待处理字符串每种字符 以Ascii码为索引 计数;
}
for(int i=1; i<=30; ++i)//遍历数组;
{
if(a[i]&1)//若某一字符出现数量为奇数,则S与T有字符 不符;
{
printf("No");
return 0;//无多测,printf后直接结束;
}
}
printf("Yes");//遍历后都符合,printf("Yes");
return 0;//结束! 第一篇题解,望点赞!
}
//qwq...