#include <stdio.h>
#include <stdlib.h>

#define N 100
#define MAX 50
#define MAX1 10

int main()
{
  int i, j, m;
  int pole[MAX*MAX*MAX];
  
  printf("%d\n", N);
  for (i=0; i<N; i++)
  {
    if (i % 20)
      m=rand() % MAX1 + 1; else
      m=rand() % MAX + 1;
      
    for (j=0; j<m*m*m; j++) pole[j]=j;
    for (j=0; j<m*m*m; j++)
    {
      int z, sw;
      
      z=rand() % (m*m*m);
      sw=pole[z];
      pole[z]=pole[j];
      pole[j]=sw;
    }
    
    printf("%d\n", m);
    
    for (j=0; j<(m*m*m); j+=m*m) {
	    int k;
	    printf("%d", pole[j]);
	    for (k=1; k < m*m; k++)
		    printf(" %d", pole[j + k]);
	    printf("\n");
    }
  }

  return 0;
}
