我是怎么浪费草稿纸画图的
#include<bits/stdc++.h>
using namespace std;
/*
简单数学
有一边平行=>两种情况:底1高2,底2高1,
底2高1:
平行于x轴:(n-1)(m-2)m2
平行于y轴:(n-2)
(m-1)n2 交换n,m即可

底1高2 按理说把上面的和2即可,但有重复的,需要单独计算
平行于x轴:(m-1)
(m-2)(n-2)*2 -2是因为有两列与上面重复了
平行于y轴:(n-1)
(n-2)(m-2)2
关于取模:数值过大,取末尾的数,要逐一取模,
*/
#define mod 1000000007

int main(){
long long int sum=0,m,n;//不开long long 必挂
scanf("%lld%lld",&m,&n);
sum+=2(n-1)%mod(m-2)%modm%mod;
sum+=2
(n-2)%mod(m-1)%mod*n%mod;
sum+=2
(n-1)%mod(n-2)%mod(m-2)%mod;
sum+=2(m-1)%mod(m-2)%mod*(n-2)%mod;
printf("%lld",sum%mod);
return 0;
}