#include <bits/stdc++.h>
using namespace std;
long long tree[100010][12];
int n, k, a;
void update(int t, int idx, long long val) {
  while (idx <= n) {
    tree[idx][t] += val;
    idx += (idx & -idx);
  }
}
long long read(int t, int idx) {
  long long sum = 0;
  while (idx > 0) {
    sum += tree[idx][t];
    idx -= (idx & -idx);
  }
  return sum;
}
int main() {
  scanf("%d %d", &n, &k);
  for (int i = 1; i <= n; ++i) {
    scanf("%d", &a);
    update(1, a, 1);
    for (int j = k; j >= 1; --j) {
      long long rd = read(j, a - 1);
      update(j + 1, a, rd);
    }
  }
  printf("%I64d\n", read(k + 1, n));
  return 0;
}
