//简单的题简单做
//申请一个长度为256的数组,可以涵盖所有的字符就行
#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,m;
    cin>>n>>m;
    if(n!=m)
    {
        cout<<"false\n";
        return 0;
    }
    string str1,str2;
    cin>>str1>>str2;
    int arr[256]={0};//一直都搞不懂牛客的这个c++编译器什么毛病有的时候数组有初始值,有的时候就是随机数?????
    for(int i=0;i<str1.size();i++)
        arr[str1[i]]++;
    for(int i=0;i<str2.size();i++){
        arr[str2[i]]--;
        if(arr[str2[i]]<0)//说明出现次数不一样
        {
            cout<<"false"<<endl;
            return 0;
        }
    }
//     for(int i=0;i<256;i++)
//         cout<<arr[i]<<" ";
//     return 0;
    //再遍历一遍arr数组,arr数组里面所有的值都应该为0
    for(int i=0;i<256;i++)
    {
        if(arr[i]!=0)
        {
            cout<<"false"<<endl;
            return 0;
        }
    }
    cout<<"true\n";
    return 0;
}