编程题
### 问题描述
小齐有 $N$ 棵树,每棵树的初始高度为 $H_i$,每天的生长速率为 $G_i$。通常情况下,在第 $K$ 天结束时,树 $i$ 的高度为 $H_i + (K-1) \cdot G_i$。
然而,每天结束后,小齐可以选择砍伐一棵树,并使其继续以相同的速率生长。如果在第 $K$ 天砍伐了树 $i$,那么在第 $K+1$ 天结束时,树 $i$ 的高度将为 $G_i$。
小齐的目标是最大化在某一天结束时(在砍伐其中一棵树后),树的高度不超过 $D$ 的数量。
### 输入格式
第一行包含两个整数 $N$ 和 $D$。
第二行包含 $N$ 个整数,表示树的初始高度 $H_i$。
第三行包含 $N$ 个整数,表示每棵树的生长速率 $G_i$。
### 输出格式
输出一个整数,表示在某一天结束时(在砍伐其中一棵树后),树的高度不超过 $D$ 的最大数量。
### 样例输入
```
2 3
4 4
3 3
```
### 样例输出
```
2
```
### 评测数据规模
$1 \leq N \leq 10^5$,$1 \leq D \leq 10^9$,$1 \leq H_i, G_i \leq 10^9$。