#include <bits/stdc++.h>
using namespace std;
const int N = int(3e5);
int n, k;
int p[N];
int t[2 * N];
void upd(int v) {
  v += n - 1;
  t[v]++;
  while (v > 1) {
    v /= 2;
    t[v] = t[2 * v] + t[2 * v + 1];
  }
}
int get(int l, int r) {
  l += n - 1;
  r += n - 1;
  int res = 0;
  while (l <= r) {
    if (l & 1) res += t[l];
    if (!(r & 1)) res += t[r];
    l = (l + 1) / 2;
    r = (r - 1) / 2;
  }
  return res;
}
int main() {
  cin >> n >> k;
  for (int i = 1; i <= n; i++) p[i] = i;
  for (int i = 1; i <= k; i++) {
    if (i < n - i + 1) {
      swap(p[i], p[n - i + 1]);
    }
  }
  long long ans = 0;
  for (int i = 1; i <= n; i++) {
    upd(p[i]);
    ans += get(p[i] + 1, n);
  }
  cout << ans;
  return 0;
}
