CODE FESTIVAL 2016 Grand Final

A - 1D Matching


Time limit時間制限 : 2sec / Memory limitメモリ制限 : 256MB

配点 : 500

問題文

一次元の世界に N 個のパソコンと N 個の電源があります。 i 番目のパソコンの座標は a_i であり、 i 番目の電源の座標は b_i です。 これらの 2N 個の座標は相異なることが保証されています。

すぬけ君は、それぞれのパソコンをケーブルで電源につなぎたいです。 それぞれの電源は一つのパソコンにのみつなぐことができます。

何通りの方法で、ケーブルの長さの合計を最小化できるでしょうか? 答えを modulo 10^9+7 で求めてください。

制約

  • 1 ≤ N ≤ 10^5
  • 0 ≤ a_i, b_i ≤ 10^9
  • 座標は整数である。
  • 座標は相異なる。

入力

入力は以下の形式で標準入力から与えられる。

N
a_1
:
a_N
b_1
:
b_N

出力

ケーブルの長さの合計を最小化する方法は何通りあるか、 modulo 10^9+7 で出力せよ。


入力例 1

2
0
10
20
30

出力例 1

2

0-20, 10-300-30, 10-20 の 二通りの最適なつなぎ方があります。 どちらの方法でもケーブルの長さの合計は 40 となります。


入力例 2

3
3
10
8
7
12
5

出力例 2

1

Score : 500 points

Problem 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.

Constraints

  • 1 ≤ N ≤ 10^5
  • 0 ≤ a_i, b_i ≤ 10^9
  • The coordinates are integers.
  • The coordinates are pairwise distinct.

Input

The input is given from Standard Input in the following format:

N
a_1
:
a_N
b_1
:
b_N

Output

Print the number of ways to minimize the total length of the cables, modulo 10^9+7.


Sample Input 1

2
0
10
20
30

Sample Output 1

2

There are two optimal connections: 0-20, 10-30 and 0-30, 10-20. In both connections the total length of the cables is 40.


Sample Input 2

3
3
10
8
7
12
5

Sample Output 2

1

Submit提出する