#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int mas[100][100];
int n;
cout << "Vvedite n=";
cin >> n;
int element = 0;//який елемент вставляємо
for( int i = 0; i < n; ++i ) //номер рядка, з якого починаємо заповнювати діагональ
for( int j = 0; j < i + 1; ++j ) //номер елемента на діагоналі, починаючи знизу
mas[ i - j ][ n - j - 1 ] = ++element;
for( int i = n - 2; i >= 0; --i) //номер стовпчика, з якого починаємо заповнювати діагональ
for( int j = 0; j < i + 1; ++j ) //номер елемента на діагоналі, починаючи знизу
mas[ n - j - 1 ][ i - j ] = ++element;
for (int i = 0 ; i < n ; i++)
{
cout << endl;
for (int j = 0 ; j < n ; j++)
cout << " " << mas[i][j] << " ";
}
cout << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWF0aC5oPgogCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKaW50IG1haW4oKQp7CiAgaW50IG1hc1sxMDBdWzEwMF07CiAgaW50IG47CiAgY291dCA8PCAiVnZlZGl0ZSBuPSI7CiAgY2luID4+IG47IAogIAogIGludCBlbGVtZW50ID0gMDsvL9GP0LrQuNC5INC10LvQtdC80LXQvdGCINCy0YHRgtCw0LLQu9GP0ZTQvNC+CiAgZm9yKCBpbnQgaSA9IDA7IGkgPCBuOyArK2kgKSAvL9C90L7QvNC10YAg0YDRj9C00LrQsCwg0Lcg0Y/QutC+0LPQviDQv9C+0YfQuNC90LDRlNC80L4g0LfQsNC/0L7QstC90Y7QstCw0YLQuCDQtNGW0LDQs9C+0L3QsNC70YwKICAgIGZvciggaW50IGogPSAwOyBqIDwgaSArIDE7ICsraiApIC8v0L3QvtC80LXRgCDQtdC70LXQvNC10L3RgtCwINC90LAg0LTRltCw0LPQvtC90LDQu9GWLCDQv9C+0YfQuNC90LDRjtGH0Lgg0LfQvdC40LfRgwogICAgICBtYXNbIGkgLSBqIF1bIG4gLSBqIC0gMSBdID0gKytlbGVtZW50OwogIGZvciggaW50IGkgPSBuIC0gMjsgaSA+PSAwOyAtLWkpIC8v0L3QvtC80LXRgCDRgdGC0L7QstC/0YfQuNC60LAsINC3INGP0LrQvtCz0L4g0L/QvtGH0LjQvdCw0ZTQvNC+INC30LDQv9C+0LLQvdGO0LLQsNGC0Lgg0LTRltCw0LPQvtC90LDQu9GMCiAgICBmb3IoIGludCBqID0gMDsgaiA8IGkgKyAxOyArK2ogKSAvL9C90L7QvNC10YAg0LXQu9C10LzQtdC90YLQsCDQvdCwINC00ZbQsNCz0L7QvdCw0LvRliwg0L/QvtGH0LjQvdCw0Y7Rh9C4INC30L3QuNC30YMKICAgICAgbWFzWyBuIC0gaiAtIDEgXVsgaSAtIGogXSA9ICsrZWxlbWVudDsKCiAgZm9yIChpbnQgaSA9IDAgOyBpIDwgbiA7IGkrKykKICB7CiAgICBjb3V0IDw8IGVuZGw7CiAgICBmb3IgKGludCBqID0gMCA7IGogPCBuIDsgaisrKQogICAgICBjb3V0IDw8ICIgIiA8PCBtYXNbaV1bal0gPDwgIiAiOwogIH0KICBjb3V0IDw8IGVuZGw7CiAgcmV0dXJuIDA7Cn0=