#include <bits/stdc++.h>
using namespace std;
multiset<int> s;
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int n, ch, x, bad = 0, ans = 0, last = 0;
  cin >> n >> ch;
  ch--;
  for (int i = 0; i < n; i++) {
    cin >> x;
    if (x && i != ch) s.insert(x);
    if (i == ch) ans += bool(x);
    if (ch != i) bad += (!bool(x));
  }
  ans += bad;
  while (!s.empty()) {
    if ((*s.begin() - 2) < last)
      last = *s.begin(), s.erase(s.find(*s.begin()));
    else if (bad > 0)
      bad--, last++;
    else {
      s.erase(s.find(*s.rbegin()));
      last++;
      ans++;
    }
  }
  cout << ans << endl;
  return 0;
}
