#include<stdio.h>
typedef long long LL;
const int mod=1000000007;
int main(){
	int n,m;
	scanf("%d%d",&n,&m);
	if(n>m){int t=n;n=m;m=t;}
	if(n+1<m) puts("0");
	else{
		int x=1,y=1;
		for(int i=1;i<=n;++i) x=(LL)x*i%mod;
		y=x; if(m==n+1) y=(LL)y*m%mod;
		if(n==m) x=(LL)x*2%mod*y%mod;
		else x=(LL)x*y%mod;
		printf("%d\n",x);
	}
	return 0;
}