#include //#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) template inline bool chmax(T &a, T b) { return ((a < b) ? (a = b, true) : (false)); } template inline bool chmin(T &a, T b) { return ((a > b) ? (a = b, true) : (false)); } #define int long long const int INF = (1LL << 60); //const int MOD = 1e9 + 7; vector dx = { 0,1 }; vector dy = { 1,0 }; signed main() { int n,k; cin >> n >> k; vector s(n); vector t(n); rep(i,n) cin >> s[i]; rep(i,n) cin >> t[i]; map> mp; rep(i,n) { mp[s[i]].first = i; mp[t[i]].second = i; } for(auto p : mp) { if(((p.second.first % k) - (p.second.second % k) + k) % k != 0) { cout << "No" << endl; return 0; } } cout << "Yes" << endl; return 0; }