#include <iostream>
using namespace std;
int [] ByASCII()
{
}
string [] PrintSecondaryDiameter()
{
int i,j,k=0;
string res[4];
for (i = 0 ;i<4;i++)
for (j = 0 ;j<4;j++)
if (((i + j)-1) = 4)
{
res[k] = Alpha[i][j];
k++;
}
cout<<res;
}
string [] PrintMainDiameter()
{
int i,j,k=0;
string res[4];
for (i = 0 ;i<4;i++)
for (j = 0 ;j<4;j++)
if (i = j)
{
res[k] = Alpha[i][j];
k++;
}
cout<<res;
}
void Print()
{
int i,j;
for (i = 0 ;i<4;i++)
for (j = 0 ;j<4;j++)
{
cout<<Alpha[i][j];
}
}
int main() {
string Alpha[4][4];
Alpha[0][0]="A";Alpha[0][1]="B";Alpha[0][2]="C";Alpha[0][3]="D";
Alpha[1][0]="E";Alpha[1][1]="F";Alpha[1][2]="G";Alpha[1][3]="H";
Alpha[2][0]="I";Alpha[2][1]="J";Alpha[2][2]="K";Alpha[2][3]="L";
Alpha[3][0]="M";Alpha[3][1]="N";Alpha[3][2]="O";Alpha[3][3]="P";
print();
cout<<PrintMainDiameter();
cout<<PrintSecondaryDiameter();
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IFtdIEJ5QVNDSUkoKQp7CgkgCn0KCnN0cmluZyBbXSBQcmludFNlY29uZGFyeURpYW1ldGVyKCkKewoJaW50IGksaixrPTA7CglzdHJpbmcgcmVzWzRdOwoJZm9yIChpID0gMCA7aTw0O2krKykKCQlmb3IgKGogPSAwIDtqPDQ7aisrKQoJCQlpZiAoKChpICsgaiktMSkgPSA0KSAKCQkJewoJCQkJcmVzW2tdID0gQWxwaGFbaV1bal07CgkJCQlrKys7CgkJCX0KCWNvdXQ8PHJlczsJCQkKfQoKc3RyaW5nIFtdIFByaW50TWFpbkRpYW1ldGVyKCkKewoJaW50IGksaixrPTA7CglzdHJpbmcgcmVzWzRdOwoJZm9yIChpID0gMCA7aTw0O2krKykKCQlmb3IgKGogPSAwIDtqPDQ7aisrKQoJCQlpZiAoaSA9IGopIAoJCQl7CgkJCQlyZXNba10gPSBBbHBoYVtpXVtqXTsKCQkJCWsrKzsKCQkJfQoJY291dDw8cmVzOwp9Cgp2b2lkIFByaW50KCkKewoJaW50IGksajsKCWZvciAoaSA9IDAgO2k8NDtpKyspCgkJZm9yIChqID0gMCA7ajw0O2orKykKCQl7CgkJCWNvdXQ8PEFscGhhW2ldW2pdOwoJCX0KfQppbnQgbWFpbigpIHsKCXN0cmluZyBBbHBoYVs0XVs0XTsKCUFscGhhWzBdWzBdPSJBIjtBbHBoYVswXVsxXT0iQiI7QWxwaGFbMF1bMl09IkMiO0FscGhhWzBdWzNdPSJEIjsKCUFscGhhWzFdWzBdPSJFIjtBbHBoYVsxXVsxXT0iRiI7QWxwaGFbMV1bMl09IkciO0FscGhhWzFdWzNdPSJIIjsKCUFscGhhWzJdWzBdPSJJIjtBbHBoYVsyXVsxXT0iSiI7QWxwaGFbMl1bMl09IksiO0FscGhhWzJdWzNdPSJMIjsKCUFscGhhWzNdWzBdPSJNIjtBbHBoYVszXVsxXT0iTiI7QWxwaGFbM11bMl09Ik8iO0FscGhhWzNdWzNdPSJQIjsKCQoJcHJpbnQoKTsKCWNvdXQ8PFByaW50TWFpbkRpYW1ldGVyKCk7Cgljb3V0PDxQcmludFNlY29uZGFyeURpYW1ldGVyKCk7CglyZXR1cm4gMDsKfQoK