#include <iostream>
#include <vector>
#include <math.h>
#include <string>
#include <algorithm>
#include <set>
#include <iomanip>
#include <cstring>
#define ll long long
#define dd long double
#define ii int
#define mod 1000000007
#define mod2 998244353
#define co pow(2,64)-1
#define f(i,n) for(i=0;i<=n;i++)
using namespace std;
typedef vector<int> vi;
typedef pair<int,int> pi;
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);

//bit-manipulation
#define count_zeroes_atbeg(n) __builtin_clz(n)
#define count_zeroes_atend(n) __builtin_ctz(n)
#define count_ones(n) __builtin_popcount(n)
#define parity(n) __builtin_parity(n)

/*struct cmp {
 bool operator() (const pair<int, int> &a, const pair<int, int> &b) const {
 int lena = a.second - a.first + 1;
 int lenb = b.second - b.first + 1;
 if (lena == lenb) return a.first < b.first;
 return lena > lenb;
 }
 };*/


int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);

    ll t;
    cin>>t;
    while(t--)
    {
        ll n,k;
        cin>>n>>k;
        string a,b;
        cin>>a>>b;
        ll freqa[126];
        ll freqb[126];
        memset(freqa, 0, sizeof(freqa));
        memset(freqb, 0, sizeof(freqb));
        for (ll i=0; i<n; i++) {
            freqa[a[i]]++;
            freqb[b[i]]++;
        }
        ll flag=0;
        for (ll i=0; i<125; i++) {
            if(freqa[i] == freqb[i])
                continue;
            else if(freqa[i] > freqb[i])
            {
                ll p = freqa[i] - freqb[i];
                if(p%k != 0)
                {flag=1;break;}
                else
                {
                    freqa[i] = freqb[i];
                    freqa[i+1] += p;
                }
            }
            else
            {
                flag=1;
                break;
            }
        }
        if(flag==0)
            cout<<"Yes"<<endl;
        else
            cout<<"No"<<endl;
    }
}



