package Sixsixsix;
import java.io.FileInputStream;
import java.util.Scanner;
public class Six_Six {
public static char[] input={'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
public static int[] res=new int[26];
public static int[] flag=new int[26];
public static int count=0;
public static void dFS(int steps,int endSteps){
if(steps==endSteps){
count++;
for(int i=0;i<endSteps;i++){
System.out.print(input[res[i]]+" ");
}
System.out.println(" ");
return;
}
for(int i=0;i<endSteps;i++){
if(flag[i]==0){
flag[i]=1;
res[steps]=i;
dFS(steps+1,endSteps);
flag[i]=0;
}
}
}
public static void main(String[] args){
try {
Scanner sc=new Scanner(new FileInputStream("input.txt"));
int n=sc.nextInt();
dFS(0,n);
System.out.print(count);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}