output_description: Print the number of possible arrangements, modulo 10^9+7.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N M
attempt: import math
  
  n, m = map(int, input().split(" "))
  
  remain = abs(n-m)
  if remain <= 1:
  	print((math.factorial(n) * math.factorial(m) * (2 if remain==0 else 1)) % (10**9+7)))
  else:
  	print(0)
  
problem_description: Statement
  
  Snuke has N dogs and M monkeys. He wants them to line up in a row.
  
  As a Japanese saying goes, these dogs and monkeys are on bad terms. _("ken'en
  no naka", literally "the relationship of dogs and monkeys", means a
  relationship of mutual hatred.)_ Snuke is trying to reconsile them, by
  arranging the animals so that there are neither two adjacent dogs nor two
  adjacent monkeys.
  
  How many such arrangements there are? Find the count modulo 10^9+7 (since
  animals cannot understand numbers larger than that). Here, dogs and monkeys
  are both distinguishable. Also, two arrangements that result from reversing
  each other are distinguished.
samples: [{"input": "2 2", "output": "8\n    \n\nWe will denote the dogs by `A` and `B`, and the monkeys by `C` and `D`. There\nare eight possible arrangements: `ACBD`, `ADBC`, `BCAD`, `BDAC`, `CADB`,\n`CBDA`, `DACB` and `DBCA`.\n\n* * *"}, {"input": "3 2", "output": "12\n    \n\n* * *"}, {"input": "1 8", "output": "0\n    \n\n* * *"}, {"input": "100000 100000", "output": "530123477"}]