//Code by do_while_true
#include<iostream>
#include<cstdio>
#include<algorithm>
#define ll long long
#define re register
//#define int long long
inline int Max(int x, int y) { return x > y ? x : y; }
inline int Min(int x, int y) { return x < y ? x : y; }
inline int Abs(int x) { return x < 0 ? ~x + 1 : x; }
inline int read() {
	int r = 0; bool w = 0; char ch = getchar();
	while(ch < '0' || ch > '9') {
		if(ch == '-') w = 1;
		ch = getchar();
	}
	while(ch >= '0' && ch <= '9') {
		r = (r << 3) + (r << 1) + (ch ^ 48);
		ch = getchar();
	}
	return w ? ~r + 1 : r;
}
//#undef int
const int N = 2000100;
int n, k, sum1[31], sum2[31];
char ch1[N + 10], ch2[N + 10];
signed main() { int T = read(); while(T--) {
	n = read(); k = read();
	scanf("%s", ch1 + 1);
	scanf("%s", ch2 + 1);
	for(int i = 0; i <= 30; ++i) sum1[i] = 0, sum2[i] = 0;
	std::sort(ch1 + 1, ch1 + n + 1);
	std::sort(ch2 + 1, ch2 + n + 1);
	for(int i = 1; i <= n; ++i) ++sum1[ch1[i] - 'a'];
	for(int i = 1; i <= n; ++i) ++sum2[ch2[i] - 'a'];
	bool f = 1;
	int nowsum = 0;
	for(int i = 0; i <= 30; ++i) {
		if(sum1[i] < sum2[i]) {
			if(nowsum < sum2[i] - sum1[i]) f = 0;
			nowsum -= sum2[i] - sum1[i];
			nowsum = nowsum / k * k;
		}
		else {
			nowsum += (sum1[i] - sum2[i]) / k * k;
		}
	}
	if(f) puts("Yes");
	else puts("No");
}
	return 0;
}