B - チーム決め Editorial /

Time Limit: 2 sec / Memory Limit: 256 MB

配点 : 600

問題文

ACoder では,チーム高橋とチーム青木の 2 チーム対抗でのプログラミングコンテストを開こうとしています. チーム高橋の参加者の候補は N 人いて,チーム高橋の i 番目の候補者の実力は A_i で表されます. また,チーム青木の参加者の候補は M 人いて,チーム青木の i 番目の候補者の実力は B_i で表されます.

コンテストを開く前に,チーム高橋,チーム青木のそれぞれから K 人ずつの参加者を選ぶことにしました. 参加者は,それぞれのチームの参加者の候補から選ばれます. ここで,K 人ずつの参加者を選んだときの,チーム間の実力差を次のように定義することにしました.

  • チーム高橋の参加者の中で i 番目に実力の値が大きい人の実力を X_i,チーム青木の参加者の中で i 番目に実力の値が大きい人の実力を Y_i とする.
  • このとき,チーム間の実力差は,max (|X_1 - Y_1|, |X_2 - Y_2|, ..., |X_K - Y_K| ) である.

各チームの参加者を決めたときの,チーム間の実力差の最小値を求めてください.

制約

  • 1 \leq N \leq 10^5
  • 1 \leq M \leq 10^5
  • 1 \leq K \leq min (N, M)
  • 1 \leq A_i \leq 10^9
  • 1 \leq B_i \leq 10^9
  • A_i, B_i は整数

入力

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

N M K
A_1 A_2 ... A_N
B_1 B_2 ... B_M

出力

チーム間の実力差の最小値を出力せよ.


入力例 1

3 4 2
2 11 16
4 7 9 10

出力例 1

2

チーム高橋からは 1, 2 番目の候補者を,チーム青木からは 1, 3 番目の候補者を,参加者として選ぶことにするとよいです. このとき,チーム高橋の参加者の実力は大きい方から順に 11, 2,チーム青木の参加者の実力は大きい方から順に 9, 4 となります.


入力例 2

6 5 3
15 7 14 3 14 11
20 18 15 18 17

出力例 2

3