#include <bits/stdc++.h>
using namespace std;
const long long maxn = 3e3 + 10;
long long n, k, ans;
queue<pair<long long, long long> > qu;
long long mark[maxn][maxn], h[maxn][maxn], suf[maxn][3], p[maxn];
bool zero = false;
void bfs() {
  while (!qu.empty()) {
    long long fi = qu.front().first;
    long long se = qu.front().second;
    qu.pop();
    if (h[fi][se] + 1 <= k && se < n) {
      if (p[fi] != 0 && suf[se][1] + suf[se][2] >= 1 && !mark[se + 1][se + 2]) {
        if (se + 1 >= n) {
          zero = true;
        } else {
          ans++;
          mark[se + 1][se + 2] = 1;
          h[se + 1][se + 2] = h[fi][se] + 1;
          qu.push({se + 1, se + 2});
        }
      }
      if (p[fi] != 0 && !suf[se][2] && !mark[fi][se + 1]) {
        ans++;
        mark[fi][se + 1] = 1;
        h[fi][se + 1] = h[fi][se] + 1;
        qu.push({fi, se + 1});
      }
      if (p[fi] != 100 && suf[se][1] + suf[se][2] >= 1 && !mark[se][se + 1]) {
        ans++;
        mark[se][se + 1] = 1;
        h[se][se + 1] = h[fi][se] + 1;
        qu.push({se, se + 1});
      }
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  cin >> n >> k;
  for (int i = 0; i < n; i++) {
    cin >> p[i];
  }
  for (int i = n - 1; i >= 0; i--) {
    suf[i][0] = suf[i + 1][0];
    suf[i][1] = suf[i + 1][1];
    suf[i][2] = suf[i + 1][2];
    if (p[i] == 0) {
      suf[i][0]++;
    } else if (p[i] == 100) {
      suf[i][2]++;
    } else {
      suf[i][1]++;
    }
  }
  if (n == 1) {
    cout << 1 << endl;
    return 0;
  }
  qu.push({0, 1});
  mark[0][1] = 1;
  h[0][1] = 0;
  ans++;
  bfs();
  cout << ans + zero << endl;
}
