#include #include #include int main() { int N, K; std::cin >> N >> K; std::vector S(N), T(N); for (int i = 0; i < N; i++) { std::cin >> S[i]; } for (int i = 0; i < N; i++) { std::cin >> T[i]; } std::vector> S_groups(K); std::vector> T_groups(K); for (int i = 0; i < N; i++) { int group = i % K; S_groups[group][S[i]]++; T_groups[group][T[i]]++; } bool possible = true; for (int i = 0; i < K; i++) { if (S_groups[i] != T_groups[i]) { possible = false; break; } } std::cout << (possible ? "Yes" : "No") << std::endl; return 0; }