#include using i64 = long long; using u64 = unsigned long long; using u32 = unsigned; using u128 = unsigned __int128; using i128 = __int128; int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int N, K; std::cin >> N >> K; std::vector A(N), B(N); for (int i = 0; i < N; i++) { std::cin >> A[i]; } for (int i = 0; i < N; i++) { std::cin >> B[i]; } for (int r = 0; r < K; r++) { std::vector s, t; for (int i = r; i < N; i += K) { s.push_back(A[i]); } for (int i = r; i < N; i += K) { t.push_back(B[i]); } std::sort(s.begin(), s.end()); std::sort(t.begin(), t.end()); if (s != t) { std::cout << "No\n"; return 0; } } std::cout << "Yes\n"; return 0; }