#include <bits/stdc++.h>
using namespace std;
//a represents returning which bucket: into bucket or out of bucket
int sim(int a, int c1,int m1, int c2, int m2){
if(m1+m2>c2){
//pour until b2 full
m1-=(c2-m2);
m2=c2;
}
else{
//pour until b1 empty
m2+=m1;
m1=0;
}
if(a==1){
return m2;
}
else{
return m1;
}
}
int main() {
int c1,m1,c2,m2,c3,m3;
cin>>c1>>m1>>c2>>m2>>c3>>m3;
for(int i = 1; i<=25; i++){
int temp=m1;
m1=sim(0,c1,m1,c2,m2);
m2=sim(1,c1,temp,c2,m2);
temp=m2;
m2=sim(0,c2,m2,c3,m3);
m3=sim(1,c2,temp,c3,m3);
temp=m3;
m3=sim(0,c3,temp,c1,m1);
m1=sim(1, c3,temp,c1,m1);
}
cout<<m1<<endl<<m2<<endl<<m3<<endl;
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Ci8vYSByZXByZXNlbnRzIHJldHVybmluZyB3aGljaCBidWNrZXQ6IGludG8gYnVja2V0IG9yIG91dCBvZiBidWNrZXQKaW50IHNpbShpbnQgYSwgaW50IGMxLGludCBtMSwgaW50IGMyLCBpbnQgbTIpewoJaWYobTErbTI+YzIpewoJCS8vcG91ciB1bnRpbCBiMiBmdWxsCgkJbTEtPShjMi1tMik7CgkJbTI9YzI7Cgl9CgllbHNlewoJCS8vcG91ciB1bnRpbCBiMSBlbXB0eQoKCQltMis9bTE7CgkJbTE9MDsKCX0KCWlmKGE9PTEpewoJCXJldHVybiBtMjsKCX0KCWVsc2V7CgkJcmV0dXJuIG0xOwoJfQp9CgppbnQgbWFpbigpIHsKCWludCBjMSxtMSxjMixtMixjMyxtMzsKCWNpbj4+YzE+Pm0xPj5jMj4+bTI+PmMzPj5tMzsKCWZvcihpbnQgaSA9IDE7IGk8PTI1OyBpKyspewoJaW50IHRlbXA9bTE7CgltMT1zaW0oMCxjMSxtMSxjMixtMik7CgltMj1zaW0oMSxjMSx0ZW1wLGMyLG0yKTsKCQkgdGVtcD1tMjsKCgltMj1zaW0oMCxjMixtMixjMyxtMyk7CgltMz1zaW0oMSxjMix0ZW1wLGMzLG0zKTsKCXRlbXA9bTM7CgoJbTM9c2ltKDAsYzMsdGVtcCxjMSxtMSk7CgoJbTE9c2ltKDEsIGMzLHRlbXAsYzEsbTEpOwoKCgl9Cgljb3V0PDxtMTw8ZW5kbDw8bTI8PGVuZGw8PG0zPDxlbmRsOwoJcmV0dXJuIDA7Cn0=