voidsolve(){ int n, m; cin >> n >> m; std::vector<int> x(n), r(n); for (auto& i : x) { cin >> i; } for (auto& i : r) { cin >> i; } auto sqrt = [](i64 x) -> int { int k = 0, p = 1; while (p) { if (1ll * (k + p) * (k + p) <= x) { k += p; p <<= 1; } else { p >>= 1; } } return k; }; std::map<int, int> mm; for (int i = 0; i < n; i++) { int a = x[i], ri = r[i]; for (int x = a - ri; x <= a + ri; x++) { mm[x] = std::max(mm[x], 2 * sqrt(1ll * ri * ri - 1ll * (a - x) * (a - x)) + 1); } } i64 ans = 0; for (auto [x, y] : mm) { ans += y; } cout << ans << "\n"; }