#include using namespace std; #define rep(i, n) for (int i = 0; i < (n); ++i) using ll = long long; using ull = unsigned long long; int main() { cin.tie(nullptr)->sync_with_stdio(false); int n, k; cin >> n >> k; --k; vector x(n), a(n); rep(i, n) cin >> x[i]; rep(i, n) cin >> a[i]; pair rng = { x[k] - a[k], x[k] + a[k] }; pair idx = { k, k }; { bool upd = true; while (upd) { upd = false; for (int i = idx.first - 1; i >= 0; --i) { if (rng.first > x[i]) break; rng.first = min(rng.first, x[i] - a[i]); rng.second = max(rng.second, x[i] + a[i]); idx.first = i; upd = true; } for (int i = idx.second + 1; i < n; ++i) { if (rng.second < x[i]) break; rng.first = min(rng.first, x[i] - a[i]); rng.second = max(rng.second, x[i] + a[i]); idx.second = i; upd = true; } } } cout << idx.second - idx.first + 1 << '\n'; return 0; }