#include<cstdio>#include<iostream>#include<string>#include<cstring>#include<algorithm>#include<cmath>#include<map>#include<set>#include<vector>using namespace std;typedef long long LL;#define N 110#define M 400010#define inf 2147483647#define lowbit(x) (x&(-x))char f[N][N]; //RBYGint main() {int t, n, i, j, k, flag;scanf("%d", &t);while (t--) {scanf("%d", &n);if (n == 1)puts("R");else if (n < 5)puts("No solution!");else if (n == 5) {puts("YYYGR");puts("YGGGR");puts("YGYYR");puts("BYYYR");puts("BBBBR");} else {flag = n / 3;for (k = n; k > 5; k -= 3, flag--) {for (i = k; i > k - 3; i--) {for (j = 1; j <= n; j++)f[i][j] = 'R';}if (flag & 1) {for (i = k; i > k - 3; i--) {for (j = n - flag + 1; j <= n; j++)f[i][j] = 'Y';}for (j = flag * 2 + 1; j <= n; j++)f[k - 1][j] = 'Y';for (j = flag + 1; j <= flag + flag; j++)f[k - 1][j] = 'B';for (j = 1; j <= n - flag; j++)f[k][j] = 'B';} else {for (i = k; i > k - 3; i--) {for (j = 1; j <= flag; j++)f[i][j] = 'Y';}for (j = 1; j <= n - flag * 2; j++)f[k - 1][j] = 'Y';for (j = n - flag - flag + 1; j <= n - flag; j++)f[k - 1][j] = 'B';for (j = flag + 1; j <= n; j++)f[k][j] = 'B';}}if (k > 3) {for (j = 1; j <= n; j++)f[k][j] = 'G';k--;}if (k > 3) {for (i = 1; i <= 4; i++) {for (j = 1; j <= n; j++)f[i][j] = 'G';}for (i = 1; i <= 4; i++)f[i][1] = 'R';for (j = 2; j <= n - 3; j++)f[4][j] = 'R';f[4][n - 2] = f[4][n - 1] = f[4][n] = 'B';for (j = 2; j <= n - 2; j++)f[3][j] = 'B';f[3][n - 1] = f[3][n] = 'Y';for (j = 2; j <= n - 1; j++)f[2][j] = 'Y';} else {for (i = 1; i <= 3; i++) {for (j = 1; j <= n; j++)f[i][j] = 'Y';}for (j = 1; j <= n - 1; j++)f[1][j] = 'R';f[2][1] = 'R';for (j = 1; j <= n - 1; j++)f[3][j] = 'B';f[2][2] = 'B';}if (n % 3 == 0) {flag = n / 3;if (flag & 1)swap(f[n - 1][1], f[n - 1][flag + 1]);elseswap(f[n - 1][n - flag], f[n - 1][n]);}for (i = 1; i <= n; i++) {for (j = 1; j <= n; j++)putchar(f[i][j]);putchar('n');}}}return 0;}


