#import <stdio.h>
#define M 1000000007
typedef long long INT;
INT fa(INT n, INT val){
    return (n==1)? (val%M) : fa(n-1,((n%M)*(val%M)%M));
}
INT fact(INT n){
    return fa(n,1);
}

int main(){
    INT n,m;
    scanf("%lld %lld",&n,&m);
    if (n==m) {
        printf("%lld",2*fact(n)*fact(n)%M);
    } else if (n-m==1||n-m==-1) {
        printf("%lld",fact(n)*fact(m)%M);
    } else {
        puts("0");
    }
}
