import java.util.*;
import java.io.*;
import java.math.*;
public class Hello
{
public static int n;
public static int[] x;
public static int sum=0;
public static void main(String[] args) throws IOException
{
n =8;
x =new int[n+1];
BackTrack(1);
System.out.println(sum);
}
public static void BackTrack(int k){ //k代表第K个皇后,在第K行的第X[k]列
if(k>n) sum++;
else{
for(int i=1;i<=n;i++){
x[k] = i; //先试探第k行的皇后放在i位置。
if(isValid(k)) BackTrack(k+1);
}
}
}
public static boolean isValid(int t){ //验证第t行的x[t]位置皇后是否可以放置
for(int j=1;j<t;j++){
if( Math.abs( t-j ) == Math.abs(x[t] - x[j]) || x[t]==x[j] ) return false;
}
return true;
}
}