#include <stdio.h>                            
#define NMAX 20                               
                                              
int ind_min(int x[], int k, int n);           
void selecao(int x[], int n);                     
void troque(int *x, int *y);                  
void componha_vetor(int x[], int X, int n);   
                                              
int main()                                    
{                                             
  int n, v[NMAX];                                 
  scanf("%d", &n);                            
  printf("%d\n", n);                          
  componha_vetor(v, n, 6);                    
  selecao(v, 6);                              
  return 0;                                   
}                                             
                                              
int ind_min(int x[], int k, int n)            
{                                             
  int min = k, j;                             
  for (j = k+1; j < n; j++)                   
    if (x[j]<x[min])                          
      min = j;                                
  return min;                                     
}                                             

/* Continua ao lado */                        

void selecao(int x[], int n)               
{                                          
  int i, k, min;                           
  for (k = 0; k < n; k++) {                
    for (i = 0; i < n; i++)                
      printf("%d ", x[i]);                 
    printf("\n");                          
    min = ind_min(x, k, n);                
    troque(&x[k], &x[min]);                
  }                                        
  for (i = 0; i < n; i++)                  
    printf("%d ", x[i]);                   
  printf("\n");                            
}                                          
                                           
void troque(int *x, int *y)                
{                                          
  int t = *x;                              
  *x = *y; *y = t;                         
}                                          
                                           
void componha_vetor(int x[], int X, int n) 
{                                          
  int i;                                   
  for (i = 0; i < n; i++)                  
    { x[i] = X % 10; X /= 10; }            
}                                          
