#include using namespace std; #define For(i, a, b) for(int i = (a); i < (b); i++) #define rep(i, n) For(i, 0, n) #define rFor(i, a, b) for(int i = (a); i >= (b); i--) #define ALL(v) (v).begin(), (v).end() #define rALL(v) (v).rbegin(), (v).rend() #define SZ(v) ((int)(v).size()) using lint = long long; using ld = long double; int INF = 2000000000; lint LINF = 1000000000000000000; struct SetupIo { SetupIo() { ios::sync_with_stdio(false); cin.tie(nullptr); cout << fixed << setprecision(15); cerr << fixed << setprecision(15); } } setupio; int main() { int n, k; cin >> n >> k; unordered_map mp; rep(i, n) { string s; cin >> s; mp[s] = i; } rep(i, n) { string t; cin >> t; int diff = abs(i - mp[t]); if (diff % k) { cout << "No\n"; return 0; } } cout << "Yes\n"; }