#include <bits/stdc++.h>
using namespace std;

int n;
char s[1005][1005];

void prt() {
	for (int i = 0; i < n; ++ i) puts(s[i]);
}

int main() {
	scanf("%d", &n);
	for (int i = 0; i < n; ++ i)
		for (int j = 0; j < n; ++ j)
			s[i][j] = '.';
	if (n < 3) {
		puts("-1");
	} else if (n % 3 == 0) {
		for (int i = 0; i * 3 < n; ++ i) {
			s[i * 3][i * 3 + 1] = s[i * 3][i * 3 + 2] = s[i * 3 + 2][i * 3] = s[i * 3 + 2][i * 3 + 1] = 'a';
			s[i * 3][i * 3] = s[i * 3 + 1][i * 3] = s[i * 3 + 1][i * 3 + 2] = s[i * 3 + 2][i * 3 + 2] = 'b';
		}
		prt();
	} else if (n % 4 == 0) {
		for (int i = 0; i * 4 < n; ++ i) {
			s[i * 4][i * 4] = s[i * 4][i * 4 + 1] = 'a';
			s[i * 4][i * 4 + 2] = s[i * 4 + 1][i * 4 + 2] = 'b';
			s[i * 4][i * 4 + 3] = s[i * 4 + 1][i * 4 + 3] = 'c';
			s[i * 4 + 1][i * 4] = s[i * 4 + 1][i * 4 + 1] = 'd';
			s[i * 4 + 2][i * 4] = s[i * 4 + 3][i * 4] = 'e';
			s[i * 4 + 2][i * 4 + 1] = s[i * 4 + 3][i * 4 + 1] = 'f';
			s[i * 4 + 2][i * 4 + 2] = s[i * 4 + 2][i * 4 + 3] = 'g';
			s[i * 4 + 3][i * 4 + 2] = s[i * 4 + 3][i * 4 + 3] = 'h';
		}
		prt();
	} else if (n % 4 == 1) {
		for (int i = 0; i * 4 < n - 5; ++ i) {
			s[i * 4][i * 4] = s[i * 4][i * 4 + 1] = 'a';
			s[i * 4][i * 4 + 2] = s[i * 4 + 1][i * 4 + 2] = 'b';
			s[i * 4][i * 4 + 3] = s[i * 4 + 1][i * 4 + 3] = 'c';
			s[i * 4 + 1][i * 4] = s[i * 4 + 1][i * 4 + 1] = 'd';
			s[i * 4 + 2][i * 4] = s[i * 4 + 3][i * 4] = 'e';
			s[i * 4 + 2][i * 4 + 1] = s[i * 4 + 3][i * 4 + 1] = 'f';
			s[i * 4 + 2][i * 4 + 2] = s[i * 4 + 2][i * 4 + 3] = 'g';
			s[i * 4 + 3][i * 4 + 2] = s[i * 4 + 3][i * 4 + 3] = 'h';
		}
		s[n - 5][n - 3] = s[n - 4][n - 3] = 'a';
		s[n - 5][n - 2] = s[n - 4][n - 2] = 'b';
		s[n - 5][n - 1] = s[n - 4][n - 1] = 'c';
		s[n - 3][n - 5] = s[n - 3][n - 4] = 'd';
		s[n - 3][n - 3] = s[n - 3][n - 2] = 'e';
		s[n - 3][n - 1] = s[n - 2][n - 1] = 'f';
		s[n - 2][n - 5] = s[n - 2][n - 4] = 'g';
		s[n - 2][n - 3] = s[n - 1][n - 3] = 'h';
		s[n - 1][n - 5] = s[n - 1][n - 4] = 'i';
		s[n - 1][n - 2] = s[n - 1][n - 1] = 'j';
		prt();
	} else if (n % 4 == 2) {
		for (int i = 0; i * 4 < n - 6; ++ i) {
			s[i * 4][i * 4] = s[i * 4][i * 4 + 1] = 'a';
			s[i * 4][i * 4 + 2] = s[i * 4 + 1][i * 4 + 2] = 'b';
			s[i * 4][i * 4 + 3] = s[i * 4 + 1][i * 4 + 3] = 'c';
			s[i * 4 + 1][i * 4] = s[i * 4 + 1][i * 4 + 1] = 'd';
			s[i * 4 + 2][i * 4] = s[i * 4 + 3][i * 4] = 'e';
			s[i * 4 + 2][i * 4 + 1] = s[i * 4 + 3][i * 4 + 1] = 'f';
			s[i * 4 + 2][i * 4 + 2] = s[i * 4 + 2][i * 4 + 3] = 'g';
			s[i * 4 + 3][i * 4 + 2] = s[i * 4 + 3][i * 4 + 3] = 'h';
		}
		s[n - 6][n - 3] = s[n - 5][n - 3] = 'a';
		s[n - 6][n - 2] = s[n - 5][n - 2] = 'b';
		s[n - 6][n - 1] = s[n - 5][n - 1] = 'c';
		s[n - 4][n - 6] = s[n - 4][n - 5] = 'd';
		s[n - 4][n - 4] = s[n - 4][n - 3] = 'e';
		s[n - 4][n - 1] = s[n - 3][n - 1] = 'f';
		s[n - 3][n - 4] = s[n - 3][n - 3] = 'g';
		s[n - 3][n - 2] = s[n - 2][n - 2] = 'h';
		s[n - 2][n - 6] = s[n - 2][n - 5] = 'i';
		s[n - 2][n - 4] = s[n - 1][n - 4] = 'j';
		s[n - 1][n - 6] = s[n - 1][n - 5] = 'k';
		s[n - 1][n - 2] = s[n - 1][n - 1] = 'l';
		prt();
	} else {
		for (int i = 0; i * 4 < n - 7; ++ i) {
			s[i * 4][i * 4] = s[i * 4][i * 4 + 1] = 'a';
			s[i * 4][i * 4 + 2] = s[i * 4 + 1][i * 4 + 2] = 'b';
			s[i * 4][i * 4 + 3] = s[i * 4 + 1][i * 4 + 3] = 'c';
			s[i * 4 + 1][i * 4] = s[i * 4 + 1][i * 4 + 1] = 'd';
			s[i * 4 + 2][i * 4] = s[i * 4 + 3][i * 4] = 'e';
			s[i * 4 + 2][i * 4 + 1] = s[i * 4 + 3][i * 4 + 1] = 'f';
			s[i * 4 + 2][i * 4 + 2] = s[i * 4 + 2][i * 4 + 3] = 'g';
			s[i * 4 + 3][i * 4 + 2] = s[i * 4 + 3][i * 4 + 3] = 'h';
		}
		s[n - 7][n - 7] = s[n - 7][n - 6] = 'a';
		s[n - 7][n - 2] = s[n - 6][n - 2] = 'b';
		s[n - 7][n - 1] = s[n - 6][n - 1] = 'c';
		s[n - 6][n - 3] = s[n - 5][n - 3] = 'd';
		s[n - 5][n - 2] = s[n - 4][n - 2] = 'e';
		s[n - 5][n - 1] = s[n - 4][n - 1] = 'f';
		s[n - 4][n - 3] = s[n - 3][n - 3] = 'g';
		s[n - 3][n - 5] = s[n - 3][n - 4] = 'h';
		s[n - 3][n - 1] = s[n - 2][n - 1] = 'i';
		s[n - 2][n - 7] = s[n - 2][n - 6] = 'j';
		s[n - 2][n - 5] = s[n - 2][n - 4] = 'k';
		s[n - 1][n - 7] = s[n - 1][n - 6] = 'l';
		s[n - 1][n - 5] = s[n - 1][n - 4] = 'm';
		s[n - 1][n - 3] = s[n - 1][n - 2] = 'n';
		prt();
	}
	return 0;
}

/*
   1   1   2   3
   4   4   2   3
   5   6   7   7
   5   6   8   8

   0   0   1   2   3
   0   0   1   2   3
   4   4   5   5   6
   7   7   8   0   6
   9   9   8  10  10

   0   0   0   1   2   3
   0   0   0   1   2   3
   4   4   5   5   0   6
   0   0   7   7   8   6
   9   9  10   0   8   0
  11  11  10   0  12  12

   1   1   0   0   0   2   3
   0   0   0   0   4   2   3
   0   0   0   0   4   5   6
   0   0   0   0   7   5   6
   0   0   8   8   7   0   9
  10  10  11  11   0   0   9
  12  12  13  13  14  14   0
*/

Measured memory_bytes: 2176