- #include <iostream> 
- using namespace std; 
-   
- const int MAX_LENGTH = 50; 
-   
- int main() { 
-     int noElem, mt[MAX_LENGTH][MAX_LENGTH]; 
-     cin >> noElem; 
-   
-     // Citirea matricei 
-     for (int i = 0; i < noElem; ++i) { 
-         for (int j = 0; j < noElem; ++j) { 
-             cin >> mt[i][j]; 
-         } 
-     } 
-   
-     // Traversarea meandrată a matricei 
-     for (int diag = 0; diag < 2 * noElem - 1; ++diag) { 
-         int start_row = diag < noElem ? diag : noElem - 1; 
-         int start_col = diag < noElem ? 0 : diag - noElem + 1; 
-   
-         if (diag % 2 == 0) { 
-             // Diagonale în sus (stânga la dreapta) 
-             for (int r = start_row, c = start_col; r >= 0 && c < noElem; --r, ++c) { 
-                 cout << mt[r][c] << " "; 
-             } 
-         } else { 
-             // Diagonale în jos (dreapta la stânga) 
-             for (int r = start_col, c = start_row; r < noElem && c >= 0; ++r, --c) { 
-                 cout << mt[r][c] << " "; 
-             } 
-         } 
-     } 
-   
-     return 0; 
- } 
-   
				I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY29uc3QgaW50IE1BWF9MRU5HVEggPSA1MDsKCmludCBtYWluKCkgewogICAgaW50IG5vRWxlbSwgbXRbTUFYX0xFTkdUSF1bTUFYX0xFTkdUSF07CiAgICBjaW4gPj4gbm9FbGVtOwoKICAgIC8vIENpdGlyZWEgbWF0cmljZWkKICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbm9FbGVtOyArK2kpIHsKICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG5vRWxlbTsgKytqKSB7CiAgICAgICAgICAgIGNpbiA+PiBtdFtpXVtqXTsKICAgICAgICB9CiAgICB9CgogICAgLy8gVHJhdmVyc2FyZWEgbWVhbmRyYXTEgyBhIG1hdHJpY2VpCiAgICBmb3IgKGludCBkaWFnID0gMDsgZGlhZyA8IDIgKiBub0VsZW0gLSAxOyArK2RpYWcpIHsKICAgICAgICBpbnQgc3RhcnRfcm93ID0gZGlhZyA8IG5vRWxlbSA/IGRpYWcgOiBub0VsZW0gLSAxOwogICAgICAgIGludCBzdGFydF9jb2wgPSBkaWFnIDwgbm9FbGVtID8gMCA6IGRpYWcgLSBub0VsZW0gKyAxOwoKICAgICAgICBpZiAoZGlhZyAlIDIgPT0gMCkgewogICAgICAgICAgICAvLyBEaWFnb25hbGUgw65uIHN1cyAoc3TDom5nYSBsYSBkcmVhcHRhKQogICAgICAgICAgICBmb3IgKGludCByID0gc3RhcnRfcm93LCBjID0gc3RhcnRfY29sOyByID49IDAgJiYgYyA8IG5vRWxlbTsgLS1yLCArK2MpIHsKICAgICAgICAgICAgICAgIGNvdXQgPDwgbXRbcl1bY10gPDwgIiAiOwogICAgICAgICAgICB9CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgLy8gRGlhZ29uYWxlIMOubiBqb3MgKGRyZWFwdGEgbGEgc3TDom5nYSkKICAgICAgICAgICAgZm9yIChpbnQgciA9IHN0YXJ0X2NvbCwgYyA9IHN0YXJ0X3JvdzsgciA8IG5vRWxlbSAmJiBjID49IDA7ICsrciwgLS1jKSB7CiAgICAgICAgICAgICAgICBjb3V0IDw8IG10W3JdW2NdIDw8ICIgIjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gMDsKfQo=