output_description: Print the number of ways to minimize the total length of the cables, modulo
  10^9+7.
  
  * * *
input_description: The input is given from Standard Input in the following format:
  
      
      
      N
      a_1
      :
      a_N
      b_1
      :
      b_N
attempt: import sys
  
  input = sys.stdin.readline
  N = int(input())
  mod = 10**9 + 7
  a = [0] * N
  b = [0] * N
  for i in range(N):
      a[i] = int(input())
  for i in range(N):
      b[i] = int(input())
  a.sort()
  b.sort()
  da = [0] * (N - 1)
  db = [0] * (N - 1)
  for i in range(N - 1):
      da[i] = a[i + 1] - a[i]
  for i in range(N - 1):
      db[i] = b[i + 1] - b[i]
  
  
  class Factorial:
      def __init__(self, n, mod):
          self.f = [1]
          for i in range(1, n + 1):
              self.f.append(self.f[-1] * i % mod)
          self.i = [pow(self.f[-1], mod - 2, mod)]
          for i in range(1, n + 1)[::-1]:
              self.i.append(self.i[-1] * i % mod)
          self.i.reverse()
  
      def factorial(self, i):
          return self.f[i]
  
      def ifactorial(self, i):
          return self.i[i]
  
      def combi(self, n, k):
          return self.f[n] * self.i[n - k] % mod * self.i[k] % mod
  
  
  f = Factorial(N, mod)
  res = 1
  k = 1
  for i in range(N - 1):
      if da[i] == db[i]:
          k += 1
      else:
          res *= f.factorial(k)
          res %= mod
          k = 1
  res *= f.factorial(k)
  res %= mod
  print(res)
  
problem_description: Statement
  
  There are N computers and N sockets in a one-dimensional world. The coordinate
  of the i-th computer is a_i, and the coordinate of the i-th socket is b_i. It
  is guaranteed that these 2N coordinates are pairwise distinct.
  
  Snuke wants to connect each computer to a socket using a cable. Each socket
  can be connected to only one computer.
  
  In how many ways can he minimize the total length of the cables? Compute the
  answer modulo 10^9+7.
samples: [{"input": "2\n    0\n    10\n    20\n    30", "output": "2\n    \n\nThere are two optimal connections: 0-20, 10-30 and 0-30, 10-20. In both\nconnections the total length of the cables is 40.\n\n* * *"}, {"input": "3\n    3\n    10\n    8\n    7\n    12\n    5", "output": "1"}]