#include <bits/stdc++.h>
using namespace std;
int main() {
using ll = long long;
const auto buggy = [&](const int n, const int m) {
int p = m, ans = p++, q = 2;
while (q <= n)
ans *= p++, ans /= q++;
return ans; };
const auto brute_force = [&](const int n, const int m) {
const ll U = pow(m,n);
vector<int> p(n);
int ans = 0;
for (ll s = 0; s < U; ++s) {
ll t = s;
for (int i = 0; i < n; ++i)
p[i] = t%m, t /= m;
int valid = 1;
for (int i = 0; i < n and valid; ++i)
valid = (p[i]+p[(i+1)%n]) < m;
ans += valid; }
return ans; };
int n, m;
cin >> n >> m;
const auto f = brute_force(n,m);
const auto g = buggy(n,m);
cout << "brute force answer = " << f << endl;
cout << "buggy answer = " << g;
return 0; }