#include <iostream>
#include <array>
#include <algorithm>
#include <cstddef>
template <typename T, std::size_t R, std::size_t C>
using Matrix = std::array<std::array<T, C>, R>;
int main() {
Matrix<int, 3, 3> matrix = {{ { 2, 3, 4 },
{ 7, 8, 9 },
{ 5, 6, 7 } }};
std::sort(std::begin(matrix), std::end(matrix), [] (decltype(*matrix.cbegin())& lhs, decltype(*matrix.cbegin())& rhs) {
return std::accumulate(std::begin(lhs), std::end(lhs), 0) > std::accumulate(std::begin(rhs), std::end(rhs), 0);
});
for (decltype(matrix.size()) row = 0; row != matrix.size(); ++row) {
std::cout << row + 1 << ". ";
for (const auto i : matrix[row]) {
std::cout << i << " ";
}
std::cout << std::accumulate(std::begin(matrix[row]), std::end(matrix[row]), 0) << std::endl;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YXJyYXk+CiNpbmNsdWRlIDxhbGdvcml0aG0+CiNpbmNsdWRlIDxjc3RkZGVmPgoKdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHN0ZDo6c2l6ZV90IFIsIHN0ZDo6c2l6ZV90IEM+CnVzaW5nIE1hdHJpeCA9IHN0ZDo6YXJyYXk8c3RkOjphcnJheTxULCBDPiwgUj47CgppbnQgbWFpbigpIHsKICAgIE1hdHJpeDxpbnQsIDMsIDM+IG1hdHJpeCA9IHt7IHsgMiwgMywgNCB9LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyA3LCA4LCA5IH0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7IDUsIDYsIDcgfSB9fTsKCiAgICBzdGQ6OnNvcnQoc3RkOjpiZWdpbihtYXRyaXgpLCBzdGQ6OmVuZChtYXRyaXgpLCBbXSAoZGVjbHR5cGUoKm1hdHJpeC5jYmVnaW4oKSkmIGxocywgZGVjbHR5cGUoKm1hdHJpeC5jYmVnaW4oKSkmIHJocykgewogICAgICAgIHJldHVybiBzdGQ6OmFjY3VtdWxhdGUoc3RkOjpiZWdpbihsaHMpLCBzdGQ6OmVuZChsaHMpLCAwKSA+IHN0ZDo6YWNjdW11bGF0ZShzdGQ6OmJlZ2luKHJocyksIHN0ZDo6ZW5kKHJocyksIDApOwogICAgfSk7CgogICAgZm9yIChkZWNsdHlwZShtYXRyaXguc2l6ZSgpKSByb3cgPSAwOyByb3cgIT0gbWF0cml4LnNpemUoKTsgKytyb3cpIHsKICAgICAgICBzdGQ6OmNvdXQgPDwgcm93ICsgMSA8PCAiLiAiOwogICAgICAgIGZvciAoY29uc3QgYXV0byBpIDogbWF0cml4W3Jvd10pIHsKICAgICAgICAgICAgc3RkOjpjb3V0IDw8IGkgPDwgIiAiOwogICAgICAgIH0KICAgICAgICBzdGQ6OmNvdXQgPDwgc3RkOjphY2N1bXVsYXRlKHN0ZDo6YmVnaW4obWF0cml4W3Jvd10pLCBzdGQ6OmVuZChtYXRyaXhbcm93XSksIDApIDw8IHN0ZDo6ZW5kbDsKICAgIH0KfQo=