class Ideone {
public static void generatePattern(int n) {
int totalRows = n + 2;
int totalChars = (n * 2) + 4; // Total characters in the 'g' rows
for (int i = 1; i <= totalRows; i++) {
if (i <= n) {
// Rows 1 to n: all 'g's followed by 'e's
for (int j = 0; j < totalChars - 1; j++) {
}
} else if (i == n + 1) {
// Row n+1: 'g's, a '*', and 'e's
for (int j = 0; j < n - 1; j++) {
}
for (int j = 0; j < (totalChars - (n - 1) - 1 - 1); j++) {
}
} else { // i == n + 2
// Row n+2: '*'s and 'e's
for (int j = 0; j < n + 2; j++) {
}
for (int j = 0; j < totalChars - (n + 2); j++) {
}
}
}
}
public static void main
(String[] args
) {
generatePattern(5);
}
}
IGNsYXNzIElkZW9uZSB7CgogICAgcHVibGljIHN0YXRpYyB2b2lkIGdlbmVyYXRlUGF0dGVybihpbnQgbikgewogICAgICAgIGludCB0b3RhbFJvd3MgPSBuICsgMjsKICAgICAgICBpbnQgdG90YWxDaGFycyA9IChuICogMikgKyA0OyAvLyBUb3RhbCBjaGFyYWN0ZXJzIGluIHRoZSAnZycgcm93cwoKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSB0b3RhbFJvd3M7IGkrKykgewogICAgICAgICAgICBpZiAoaSA8PSBuKSB7CiAgICAgICAgICAgICAgICAvLyBSb3dzIDEgdG8gbjogYWxsICdnJ3MgZm9sbG93ZWQgYnkgJ2UncwogICAgICAgICAgICAgICAgZm9yIChpbnQgaiA9IDA7IGogPCB0b3RhbENoYXJzIC0gMTsgaisrKSB7CiAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludCgiZyIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJlIik7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoaSA9PSBuICsgMSkgewogICAgICAgICAgICAgICAgLy8gUm93IG4rMTogJ2cncywgYSAnKicsIGFuZCAnZSdzCiAgICAgICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8IG4gLSAxOyBqKyspIHsKICAgICAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KCJnIik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBTeXN0ZW0ub3V0LnByaW50KCIqIik7CiAgICAgICAgICAgICAgICBmb3IgKGludCBqID0gMDsgaiA8ICh0b3RhbENoYXJzIC0gKG4gLSAxKSAtIDEgLSAxKTsgaisrKSB7CiAgICAgICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludCgiZyIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgU3lzdGVtLm91dC5wcmludGxuKCJlIik7CiAgICAgICAgICAgIH0gZWxzZSB7IC8vIGkgPT0gbiArIDIKICAgICAgICAgICAgICAgIC8vIFJvdyBuKzI6ICcqJ3MgYW5kICdlJ3MKICAgICAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbiArIDI7IGorKykgewogICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnQoIioiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgdG90YWxDaGFycyAtIChuICsgMik7IGorKykgewogICAgICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnQoImUiKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZ1tdIGFyZ3MpIHsKCiAgICAgICAgZ2VuZXJhdGVQYXR0ZXJuKDUpOwogCiAgICB9Cn0=