#include <bits/stdc++.h>
using namespace std;
vector<long long int> derang(1002);
vector<vector<long long int> > comb(1002);
long long int assign(int n, int k) {
  if (n < 0 || k < 0) {
    return 0;
  } else {
    if (n >= k) {
      if (comb[n][k] == -1) {
        if (k == 0) {
          comb[n][k] = 1;
        } else {
          comb[n][k] = assign(n - 1, k) + assign(n - 1, k - 1);
        }
      }
      return comb[n][k];
    }
    return 0;
  }
}
int main() {
  int n, k;
  cin >> n >> k;
  long long int ans = 0;
  for (int i = 0; i < 1002; i++) {
    if (i == 0) {
      derang[0] = 1;
    } else if (i == 1) {
      derang[1] = 0;
    } else {
      derang[i] = (i - 1) * (derang[i - 1] + derang[i - 2]);
    }
  }
  for (int i = 0; i < 1002; i++) {
    comb[i].resize(i + 1, -1);
  }
  for (int i = n - k; i <= n; i++) {
    ans += (assign(n, i) * derang[n - i]);
  }
  cout << ans << endl;
}
