import math



n, m = list(map(int, input().split()))

mod = 10 ** 9 + 7



if abs(n-m) > 1:

    print((0))

    exit()



if abs(n-m) == 0:

    ans = math.factorial(n) * math.factorial(m) * 2 % mod

    print(ans)

else:

    ans = math.factorial(n) % mod * math.factorial(m) % mod

    print(ans)
import math



n, m = list(map(int, input().split()))

mod = 10 ** 9 + 7



if abs(n-m) > 1:

    print((0))

else:

    ans = 1



    for i in range(1, n+1):

        ans = ans * i % mod

    for j in range(1, m+1):

        ans = ans * j % mod



    if abs(n-m) == 0:

        print((2 * ans % mod))

    else:

        print((ans % mod))
import math

n, m = list(map(int, input().split()))
mod = 10**9 + 7
if abs(n - m) > 1:
    print((0))
    exit()
if abs(n - m) == 0:
    ans = math.factorial(n) * math.factorial(m) * 2 % mod
    print(ans)
else:
    ans = math.factorial(n) % mod * math.factorial(m) % mod
    print(ans)

import math

n, m = list(map(int, input().split()))
mod = 10**9 + 7
if abs(n - m) > 1:
    print((0))
else:
    ans = 1
    for i in range(1, n + 1):
        ans = ans * i % mod
    for j in range(1, m + 1):
        ans = ans * j % mod
    if abs(n - m) == 0:
        print((2 * ans % mod))
    else:
        print((ans % mod))

-    exit() -if abs(n - m) == 0: -    ans = math.factorial(n) * math.factorial(m) * 2 % mod -    print(ans) -    ans = math.factorial(n) % mod * math.factorial(m) % mod -    print(ans) +    ans = 1 +    for i in range(1, n + 1): +        ans = ans * i % mod +    for j in range(1, m + 1): +        ans = ans * j % mod +    if abs(n - m) == 0: +        print((2 * ans % mod)) +    else: +        print((ans % mod))