---
# System prepended metadata

title: E. 劫富濟貧

---

###### 第九屆高一生程式設計排名賽

# E. 劫富濟貧

<center> 出題者 : 511</center>
<center>Time : 1s</center>
<center>Memory : 256MiB</center>
</br>

無名是一位嫉惡如仇的俠士，平生最喜歡替別人打抱不平。
這天他來到一個小鎮，發現鎮上貧富差距極大，官兵貪汙、奸商肆虐，在這些人富得流油之時，卻又另一群底層農民受到龐大賦稅壓榨，一貧如洗，生活難以維持。
於是無名決定劫富濟貧，以維持正義。
這個鎮上居住著N種不同階級的人，同一階級持有相同的黃金數，每天夜裡他會潛入當天鎮上最富有的人家中，盜取他一半的黃金，然後把這些黃金分給窮人，分配每單位黃金時會優先給當時黃金數最少的人，如此可使最後整個鎮上最貧窮的人持有的黃金數比其他分法多。
然而他不久後必須離開去參加武林大會，最多只能在這個小鎮待D個晚上，請問最後鎮上的貧富差距(最富有的人持有黃金數-最貧窮的人持有黃金數)是多少?


## 輸入說明
單筆輸入
第一行輸入兩個正整數N、D，表示鎮上的階級數及無名待在鎮上的天數。
第二行有N個數字$C_i$，表示第i個階級每人持有的黃金數。
第三行有N個數字$P_i$,表示第i個階級的總人數。


## 輸出說明
輸出一個整數，表示鎮上的貧富差距。


## 輸入限制
* $N\le 10^5$
* $D\le 10^{18}$
* $0\le C_i\le 10^9$
* $1\le P_i\le 10^4$

## 子任務

| Subtask | Score | Contraints 
|-|-|-
| 1 | 20 | 所有輸入數字不超過100
| 2 | 35 | 對於所有$1\le i\le N,P_i=1$
| 3 | 45 | 無特殊限制

## 範例輸入 1
```
5 3
1 2 3 4 5
5 4 3 2 1
```

## 範例輸出 1
```
1
```

## 附註
有多個人最富有的話會隨機挑一個人，也有可能把偷來的黃金送回給被偷的人。
如果某人有2k+1單位的黃金，則被偷走k單位，剩下k+1單位。