#include <algorithm> #include <array> #include <cmath> #include <cstdio> #include <deque> #include <iomanip> #include <iostream> #include <numeric> #include <optional> #include <queue> #include <set> #include <stack> #include <unordered_map> #include <unordered_set> #include <vector> using namespace std; // NOLINT int main() { int32_t n; uint32_t k; cin >> n >> k; vector<uint32_t> as(n); for (auto &&a : as) { cin >> a; } uint32_t s = 0; unordered_set<uint32_t> st; st.insert(0); for (auto i = 0; i < n; ++i) { s ^= as[i]; if (st.find(s ^ k) != st.end()) { cout << "Yes" << endl; return 0; } st.insert(s); } cout << "No" << endl; return 0; }