#include using namespace std; int main(void){ cin.tie(0); ios::sync_with_stdio(false); int N; cin >> N; int K; cin >> K; K -= 1; vector X(N); set> s; for (int i = 0; i < N; i++) { cin >> X[i]; if (i != K) s.insert({X[i], i}); } vector> interval(N); for (int i = 0; i < N; i++) { long long A; cin >> A; interval[i] = {X[i] - A, X[i] + A}; } stack> st; st.push(interval[K]); while (!st.empty()) { pair p = st.top(); st.pop(); auto itr = s.lower_bound({p.first, 0}); while (itr != s.end() && itr->first <= p.second) { st.push(interval[itr->second]); s.erase(itr++); } } cout << N - s.size() << endl; return 0; }