#include <iostream>
using namespace std;
void printGrid(int &userRows, int &userColumns){
cout<<endl;
cout<<" ";
int i=1,j;
for(j = 0; j <= 4*userColumns; j++){
if(j%4==2)
cout<<i++;
else cout<<" ";
}
cout<<endl;
for(i = 0; i <= 2*userRows; i++){
if(i%2!=0)
cout<<(char)(i/2 +'A');
for(j = 0; j <= 2*userColumns; j++){
if(i%2==0)
{
if(j==0)
cout<<" ";
if(j%2==0)
cout<<" ";
else cout<<"---";
}
else{
if(j%2==0)
cout<<"|";
else cout<<" ";
}
}
if(i%2!=0)
cout<<(char)(i/2 +'A');
cout<<endl;
}
cout<<" ";
for(j = 0, i = 1; j <= 4*userColumns; j++){
if(j%4==2)
cout<<i++;
else cout<<" ";
}
cout<<endl;
}
int main() {
int userRows, userColumns;
cout << "Enter the number of rows -> ";
cin >> userRows;
cout << "\nEnter the number of columns -> ";
cin >> userColumns;
printGrid(userRows, userColumns);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCBwcmludEdyaWQoaW50ICZ1c2VyUm93cywgaW50ICZ1c2VyQ29sdW1ucyl7CiAgY291dDw8ZW5kbDsKICBjb3V0PDwiICI7CiAgaW50IGk9MSxqOwogIGZvcihqID0gMDsgaiA8PSA0KnVzZXJDb2x1bW5zOyBqKyspewoJaWYoaiU0PT0yKQoJCWNvdXQ8PGkrKzsKCWVsc2UgY291dDw8IiAiOwogIH0KICBjb3V0PDxlbmRsOwogIGZvcihpID0gMDsgaSA8PSAyKnVzZXJSb3dzOyBpKyspewogICAgaWYoaSUyIT0wKQogICAgICBjb3V0PDwoY2hhcikoaS8yICsnQScpOwogICAgZm9yKGogPSAwOyBqIDw9IDIqdXNlckNvbHVtbnM7IGorKyl7CiAgICAgIGlmKGklMj09MCkKICAgICAgewogICAgICAJaWYoaj09MCkKICAgICAgCQljb3V0PDwiICI7CiAgICAgIAlpZihqJTI9PTApCiAgICAgIAkJY291dDw8IiAiOwogICAgICAJZWxzZSBjb3V0PDwiLS0tIjsKICAgICAgfQogICAgICBlbHNlewogICAgICAJaWYoaiUyPT0wKQogICAgICAJCWNvdXQ8PCJ8IjsKICAgICAgCWVsc2UgY291dDw8IiAgICI7CiAgICAgIH0KICAgIH0KICAgIGlmKGklMiE9MCkKICAgICAgY291dDw8KGNoYXIpKGkvMiArJ0EnKTsKICAgIGNvdXQ8PGVuZGw7CiAgfQogIGNvdXQ8PCIgIjsKICBmb3IoaiA9IDAsIGkgPSAxOyBqIDw9IDQqdXNlckNvbHVtbnM7IGorKyl7CglpZihqJTQ9PTIpCgkJY291dDw8aSsrOwoJZWxzZSBjb3V0PDwiICI7CiAgfQogIGNvdXQ8PGVuZGw7Cn0KCmludCBtYWluKCkgewogIGludCB1c2VyUm93cywgdXNlckNvbHVtbnM7CiAgY291dCA8PCAiRW50ZXIgdGhlIG51bWJlciBvZiByb3dzIC0+ICI7CiAgY2luID4+IHVzZXJSb3dzOwogIGNvdXQgPDwgIlxuRW50ZXIgdGhlIG51bWJlciBvZiBjb2x1bW5zIC0+ICI7CiAgY2luID4+IHVzZXJDb2x1bW5zOwogIHByaW50R3JpZCh1c2VyUm93cywgdXNlckNvbHVtbnMpOwogIHJldHVybiAwOwp9