#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
typedef vector<vector<unsigned>> matrix;
//Not best practice code, but... well. ;-)
matrix check_possibilities(const matrix& input) {
matrix result; result.reserve(input.size());
for(const auto row : input) {
result.emplace_back();
unsigned temp = 0;
for(auto it = row.crbegin(); it != row.crend(); ++it) {
if(*it == 0)
temp += 1;
else //*it = 1
temp = 0;
result.back().push_back(temp);
}
reverse(begin(result.back()), end(result.back()));
}
return result;
}
int main() {
matrix input;
for(unsigned i = 0; i < 5; ++i) {
input.emplace_back(5);
for(auto& x : input.back())
cin >> x;
}
matrix right_minimum = check_possibilities(input);
cout << '\n';
for(const auto& row : right_minimum) {
for(const auto& element : row)
cout << element << ' ';
cout << '\n';
}
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiB2ZWN0b3I8dmVjdG9yPHVuc2lnbmVkPj4gbWF0cml4OwovL05vdCBiZXN0IHByYWN0aWNlIGNvZGUsIGJ1dC4uLiB3ZWxsLiA7LSkKbWF0cml4IGNoZWNrX3Bvc3NpYmlsaXRpZXMoY29uc3QgbWF0cml4JiBpbnB1dCkgewogIG1hdHJpeCByZXN1bHQ7IHJlc3VsdC5yZXNlcnZlKGlucHV0LnNpemUoKSk7CiAgZm9yKGNvbnN0IGF1dG8gcm93IDogaW5wdXQpIHsKICAgIHJlc3VsdC5lbXBsYWNlX2JhY2soKTsKICAgIHVuc2lnbmVkIHRlbXAgPSAwOwogICAgZm9yKGF1dG8gaXQgPSByb3cuY3JiZWdpbigpOyBpdCAhPSByb3cuY3JlbmQoKTsgKytpdCkgewogICAgICBpZigqaXQgPT0gMCkKICAgICAgIHRlbXAgKz0gMTsKICAgICAgZWxzZSAvLyppdCA9IDEKICAgICAgIHRlbXAgID0gMDsKICAgICAgcmVzdWx0LmJhY2soKS5wdXNoX2JhY2sodGVtcCk7CiAgICAgfQogICAgcmV2ZXJzZShiZWdpbihyZXN1bHQuYmFjaygpKSwgZW5kKHJlc3VsdC5iYWNrKCkpKTsKICAgfQogIHJldHVybiByZXN1bHQ7CiB9CgppbnQgbWFpbigpIHsKICBtYXRyaXggaW5wdXQ7CiAgZm9yKHVuc2lnbmVkIGkgPSAwOyBpIDwgNTsgKytpKSB7CiAgICBpbnB1dC5lbXBsYWNlX2JhY2soNSk7CiAgICBmb3IoYXV0byYgeCA6IGlucHV0LmJhY2soKSkKICAgICBjaW4gPj4geDsKICAgfQogIG1hdHJpeCByaWdodF9taW5pbXVtID0gY2hlY2tfcG9zc2liaWxpdGllcyhpbnB1dCk7CiAgY291dCA8PCAnXG4nOwogIGZvcihjb25zdCBhdXRvJiByb3cgOiByaWdodF9taW5pbXVtKSB7CiAgICBmb3IoY29uc3QgYXV0byYgZWxlbWVudCA6IHJvdykKICAgICBjb3V0IDw8IGVsZW1lbnQgPDwgJyAnOwogICAgY291dCA8PCAnXG4nOwogICB9CiB9Cg==