#include<iostream>
using namespace std;
const int MAXN = 0x3f3f3f;
const int N = 20000024;
int ans = MAXN;
int n,m;
//now 当前要创建的蛋糕层数
//r 当前层数的半径
//h 当前层数的高度
//s 已经使用的面积
//v 已经使用的体积
void dfs(int now,int r,int h,int s,int v){
if(now == 0){
if(v == n){
ans = min(ans,s);
}
return;
}
for(int i = r - 1;i > 0;i--){//搜半径
if(now == m){
s = i * i;
}
for(int j = h - 1;j > 0;j--){//搜高度
dfs(now - 1,i,j,s + 2 * i * j,v + i * i * j);
}
}
}
int main(){
cin >> n >> m;
dfs(m,n,n,0,0);
if(ans == MAXN){
cout << 0 << endl;
}else{
cout << ans << endl;
}
return 0;
}
/*
100
2
*/