#include <bits/stdc++.h>
using namespace std;
int main() {
// your code goes here
int n, addi;
cin>>n>>addi;
vector<int> capacity(n), rocks(n);
for(int i=0;i<n;i++)cin>>capacity[i];
for(int i=0;i<n;i++)cin>>rocks[i];
priority_queue<int, vector<int>, greater<int>> pq;
for(int i=0;i<rocks.size();i++){
if(capacity[i]-rocks[i]!=0)pq.push(capacity[i]-rocks[i]);
}
// while(!pq.empty()){
// cout<<pq.top()<<endl;
// pq.pop();
// }
while(!pq.empty()){
if(pq.top()<=addi){
addi-=pq.top();
pq.pop();
}
else{
break;
}
}
while(!pq.empty()){
cout<<pq.top()<<endl;
pq.pop();
}
cout<<pq.size()<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCS8vIHlvdXIgY29kZSBnb2VzIGhlcmUKCWludCBuLCBhZGRpOwoJY2luPj5uPj5hZGRpOwoJdmVjdG9yPGludD4gY2FwYWNpdHkobiksIHJvY2tzKG4pOwoJZm9yKGludCBpPTA7aTxuO2krKyljaW4+PmNhcGFjaXR5W2ldOwoJZm9yKGludCBpPTA7aTxuO2krKyljaW4+PnJvY2tzW2ldOwoJcHJpb3JpdHlfcXVldWU8aW50LCB2ZWN0b3I8aW50PiwgZ3JlYXRlcjxpbnQ+PiBwcTsKICAgICAgICBmb3IoaW50IGk9MDtpPHJvY2tzLnNpemUoKTtpKyspewogICAgICAgICAgICBpZihjYXBhY2l0eVtpXS1yb2Nrc1tpXSE9MClwcS5wdXNoKGNhcGFjaXR5W2ldLXJvY2tzW2ldKTsKICAgICAgICB9CiAgICAgICAgLy8gd2hpbGUoIXBxLmVtcHR5KCkpewogICAgICAgIC8vIAljb3V0PDxwcS50b3AoKTw8ZW5kbDsKICAgICAgICAvLyAJcHEucG9wKCk7CiAgICAgICAgLy8gfQogICAgICAgIHdoaWxlKCFwcS5lbXB0eSgpKXsKICAgICAgICAgICAgaWYocHEudG9wKCk8PWFkZGkpewogICAgICAgICAgICAgICAgYWRkaS09cHEudG9wKCk7CiAgICAgICAgICAgICAgICBwcS5wb3AoKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlewogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgd2hpbGUoIXBxLmVtcHR5KCkpewogICAgICAgIAljb3V0PDxwcS50b3AoKTw8ZW5kbDsKICAgICAgICAJcHEucG9wKCk7CiAgICAgICAgfQogICAgICAgIGNvdXQ8PHBxLnNpemUoKTw8ZW5kbDsKCXJldHVybiAwOwp9