C - 億マス計算 解説 /

実行時間制限: 2 sec / メモリ制限: 256 MB

問題文

高橋君は「N^2マス計算」で計算力をつけることにした。「N^2マス計算」は NN 列の表を用意して行う。 i 行目の左端のマスのさらに左には数 a_i が書かれており、 j 列目の上端のマスのさらに上には数 b_j が書かれている。高橋君はこの表の ij 列目 に a_i × b_j の値を計算して書き込む。

すぐに解き終わってしまい退屈したので、高橋君は自分が書き込んだ N^2 個の値を昇順に並べ替えることにした。並べ替えた結果小さい方から K 番目 (1 番から数える) に位置する値を求めよ。


入力

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

N K
a_1 a_2 .. a_N
b_1 b_2 .. b_N
  • 1 行目には、表の行数および列数 N (1 N 30000) と求めるべき値の並べ替え後の位置 K (1 K N^2) がスペース区切りで与えられる。
  • 2 行目には、表の各行 i (1 i N) について、その行の左端のマスよりさらに左に書かれた数 a_i (1 a_i 10^9) がスペース区切りで与えられる。
  • 3 行目には、表の各列 j (1 j N) について、その列の上端のマスよりさらに上に書かれた数 b_j (1 b_j 10^9) がスペース区切りで与えられる。

部分点

この問題には部分点が設定されている。

  • 5 点分のテストケースは 1 N 10 を満たす。

出力

標準出力に、高橋君が表に書き込んだ N^2 個の値を昇順に並べ替えたとき小さい方から K 番目 (1 番から数える) に位置する値を出力し、末尾で改行せよ。


入力例1

2 3
2 3
3 5

出力例1

10

高橋君が書き込んだ値を昇順に並べ替えると 6, 9, 10, 15 となり、小さい方から 3 番目の値は 10 となる。


入力例2

3 7
1 2 1
2 1 2

出力例2

2

高橋君が書き込んだ値を昇順に並べ替えると 1, 1, 2, 2, 2, 2, 2, 4, 4 となり、小さい方から 7 番目の値は 2 となる。


入力例3

4 8
701687787 500872619 516391519 599949380
458299111 633119409 377269575 717229869

出力例3

317112176525562171