#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>
using namespace std;
int metric(const vector<int>& v){
return - accumulate(v.begin(), v.end(), 0, [](int init, int val){
return init += (val<0 && (-val)%2 == 1) ? val : 0;
});
}
int main() {
vector<vector<int>> m { {-1, -2, -3},
{-2, -3, -4},
{-3, -4, -5} };
sort(m.begin(), m.end(), [](const auto& lft, const auto& rgt){
return metric(lft) < metric(rgt);
});
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8bnVtZXJpYz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtZXRyaWMoY29uc3QgdmVjdG9yPGludD4mIHYpewoJcmV0dXJuIC0gYWNjdW11bGF0ZSh2LmJlZ2luKCksIHYuZW5kKCksIDAsIFtdKGludCBpbml0LCBpbnQgdmFsKXsKCQlyZXR1cm4gaW5pdCArPSAodmFsPDAgJiYgKC12YWwpJTIgPT0gMSkgPyB2YWwgOiAwOwoJfSk7Cn0KCmludCBtYWluKCkgewoJdmVjdG9yPHZlY3RvcjxpbnQ+PiBtIHsgey0xLCAtMiwgLTN9LCAKCQkJCQkJCXstMiwgLTMsIC00fSwgCgkJCQkJCQl7LTMsIC00LCAtNX0gfTsKCQoJc29ydChtLmJlZ2luKCksIG0uZW5kKCksIFtdKGNvbnN0IGF1dG8mIGxmdCwgY29uc3QgYXV0byYgcmd0KXsKCQlyZXR1cm4gCW1ldHJpYyhsZnQpIDwgbWV0cmljKHJndCk7Cgl9KTsKCglyZXR1cm4gMDsKfQ==