#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:128777216")
const int null = 0;
using namespace std;
template <class T, class Q>
class hash_map : unordered_map<T, Q> {};
template <class T>
int size(const T &a) {
  return int(a.size());
}
template <class T>
T abs(const T &a) {
  return (a < 0 ? -a : a);
}
template <class T>
T sqr(const T &a) {
  return a * a;
}
long long mod = int(1e9 + 7.1);
template <class T>
inline T msum(T a, T b) {
  return (a + b < mod ? a + b : a + b - mod);
}
template <class T>
inline void madd(T &a, T b) {
  a = msum(a, b);
}
int main() {
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(nullptr);
  long long n, k;
  cin >> n >> k;
  k = min(k, n / 2);
  cout << k * (n - k) + (n - k - k) * k + k * (k - 1) << endl;
  return 0;
}
