#include <bits/stdc++.h>
using namespace std;
string cheng(string a,int b)
{
int x[500005]={},z[500005]={};
for(int i=a.size()-1,j=1;i>=0;i--,j++)x[j]=a[i]-'0';
int len=a.size();
for(int i=1;i<=len;i++)
{
z[i]+=x[i]*b;
z[i+1]+=z[i]/10;
z[i]%=10;
}
while(z[len+1]>0)
{
len++;
z[len+1]+=z[len]/10;
z[len]%=10;
}
string c="";
for(int i=len;i>=1;i--)c=c+char(z[i]+'0');
return c;
}
string jia(string a,string b)
{
int x[500005]={},y[500005]={},z[500005]={};
for(int i=a.size()-1,j=1;i>=0;i--,j++)x[j]=a[i]-'0';
for(int i=b.size()-1,j=1;i>=0;i--,j++)y[j]=b[i]-'0';
int len=max(a.size(),b.size());
for(int i=1;i<=len;i++)
{
z[i]+=x[i]+y[i];
z[i+1]+=z[i]/10;
z[i]%=10;
}
if(z[len+1]>0)len++;
string c="";
for(int i=len;i>=1;i--)c=c+char(z[i]+'0');
return c;
}
string mul="1";
string ans="1";
void A(int n,int m)
{
for(int i=n;i>=n-m+1;i--)
{
mul=cheng(mul,i);
}
}
void B(int n,int m)
{
for(int i=n;i>=n-m+1;i--)
{
ans=cheng(ans,i);
}
}
int n,m;
int main()
{
cin>>n>>m;
A(n+1,2);//老师中间有男生
A(n+3,m);
A(n,n);
B(n+1,n+1);//老师中间一个女生
ans=cheng(ans,2*m);
B(n+2,m-1);
cout<<jia(mul,ans);
return 0;
}
大佬 orz