#include <bits/stdc++.h>
using namespace std;
const long long N = 2e5;
const long long M = 20;
const long long SQRT = 350;
const long long INF = 1e16;
const long long MOD = 1e9 + 7;
long long n, k, a[N], dp[N], fen[N];
void add(int p, long long val) {
  for (p++; p < N; p += p & -p) fen[p] += val;
}
long long get(int p) {
  long long ans = 0;
  for (; p; p -= p & -p) ans += fen[p];
  return ans;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> n >> k;
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < n; i++) dp[i] = 1;
  for (int i = 0; i < k; i++) {
    for (int j = 0; j < n; j++) {
      add(a[j], dp[j]);
      dp[j] = get(a[j]);
    }
    for (int j = 0; j < N; j++) fen[j] = 0;
  }
  long long ans = 0;
  for (int i = 0; i < n; i++) ans += dp[i];
  cout << ans << "\n";
  return 0;
}
