#include <bits/stdc++.h>

int main(){
    using namespace std;
    unsigned long N;
    cin >> N;
    if(N == 4)return 0 & puts("aaca\nbbca\nacbb\nacaa");
    if(N == 2)return 0 & puts("-1");
    unsigned long M{N * (N + 1)}, R{N + 1};
    string t(M, '.');
    for(unsigned long i{0}; i < N; ++i)t[(i + 1) * (N + 1) - 1] = '\n';
    t[0] = t[1] = t[M - 2] = t[M - 3] = 'a';
    t[R] = t[2 * R] = t[M - R - 2] = t[M - 2 * R - 2] = 'b';
    t[R - 2] = t[2 * R - 2] = t[(N - 1) * R] = t[(N - 2) * R] = 'a';
    t[R - 3] = t[R - 4] = t[M - R + 1] = t[M - R + 2] = 'b';
    for(unsigned long i{1}, j{R + 1}; i + 3 < N; ++i, j += R + 1)t[j + 1] = t[j + 2] = t[j + R] = t[j + 2 * R] = char('a' | (i & 1) << 1);
    cout << t;
    return 0;
}