#include namespace zawa { using i16 = std::int16_t; using i32 = std::int32_t; using i64 = std::int64_t; using i128 = __int128_t; using u8 = std::uint8_t; using u16 = std::uint16_t; using u32 = std::uint32_t; using u64 = std::uint64_t; using usize = std::size_t; } // namespace zawa namespace zawa { void SetFastIO() { std::cin.tie(nullptr)->sync_with_stdio(false); } void SetPrecision(u32 dig) { std::cout << std::fixed << std::setprecision(dig); } } // namespace zawa using namespace zawa; int main() { SetFastIO(); int n; std::cin >> n; std::vector x(n); for (auto& v : x) std::cin >> v; std::vector a(n); for (auto& x : a) std::cin >> x; const long long INF{(long long)1e18}; std::vector dp(n + 1, INF); dp[0] = 0; for (int i{} ; i < n ; i++) { long long s{}; for (int j{i} ; j < n ; j++) { s ^= a[j]; dp[j + 1] = std::min(dp[j + 1], dp[i] + s + x[j] - x[i]); } } std::cout << dp[n] << '\n'; }