問題文
あなたは CCPC のために重慶を訪れている大学の競技プログラミングチームのリーダーです。コンテスト後のチームの結束を深めるため、あなたはグループでの夕食会を企画したいと考えています。しかし、コンテスト前に火鍋を食べて予算を使い果たしてしまったため、食事の費用は参加者全員で均等に割り勘しなければなりません(つまり、総額 $W$ の食事に $k$ 人が参加する場合、1 人あたり $\frac{W}{k}$ を支払います)。
チームには $n$ 人のクラスメイトがいます。夕食会に参加する各クラスメイトは、ちょうど 1 品の料理を注文します。$i$ 番目のクラスメイトは価格 $w_i$ の料理を注文します。また、各クラスメイトには予算の上限 $r_i$ があり、食事の最終的な 1 人あたりの負担額が $r_i$ を超える場合、$i$ 番目のクラスメイトはホテルに残ってデリバリーを注文します。
リーダーとして、あなたは夕食会に参加するクラスメイトの人数を最大化したいと考えています。あなたの目標は、選ばれた $m$ 人のクラスメイトがそれぞれの料理を注文したとき、1 人あたりの負担額($m$ 品の料理の価格の合計を $m$ で割った値)が、選ばれた $m$ 人のどのクラスメイトの予算 $r_i$ も超えないような $m$ 人の部分集合を選ぶことです。$m$ のとり得る最大値を求めてください。
$m \ge 1$ を満たすそのような部分集合が存在しない場合は、$0$ を出力してください。
入力
1 つのテストファイルに複数のテストケースが含まれます。入力の 1 行目には、テストケースの数を表す 1 つの整数 $T$($1 \le T \le 10^5$)が与えられます。
各テストケースについて:
- 1 行目には、クラスメイトの人数を表す 1 つの整数 $n$($1 \le n \le 10^5$)が与えられます。
- 次の行には $n$ 個の整数が与えられ、$i$ 番目の整数 $w_i$($1 \le w_i \le 10^9$)は $i$ 番目のクラスメイトが注文する料理の価格を表します。
- その次の行には $n$ 個の整数が与えられ、$i$ 番目の整数 $r_i$($1 \le r_i \le 10^9$)は $i$ 番目のクラスメイトが支払ってもよいと考える最大金額を表します。
すべてのテストケースにおける $n$ の総和は $10^5$ を超えないことが保証されます。
出力
各テストケースについて、答えを表す 1 つの整数を 1 行に出力してください。
入力例・出力例
入力例 1
2 5 1 2 3 4 5 5 4 3 2 1 10 3 1 4 1 5 9 2 6 5 3 5 8 9 7 9 3 2 3 8 4
出力例 1
3 7