import java.util.Scanner;
public class Main {
static int N;
static int m=9;
static int number=0;
static int a,b,c;
static int state[]=new int[10];
static int used[]=new int[10];//0表示还没选 1表示选 2表示不选
public static void dfs(int u) {//全排列函数
if(u>m) {
for(int i=1;i<=7;i++) {//将九个数据进行两次分割遍历
for(int j=i+1;j<=8;j++) {
a=calu(1,i);
b=calu(i+1,j);
c=calu(j+1,9);
if((a*c+b)==N*c) {
number++;
}
}
}
return;
}
for(int i=1;i<=m;i++) {
if(used[i]==0) {
state[u]=i;
used[i]=1;
dfs(u+1);
used[i]=0;
}
}
}
public static int calu(int i,int j) {
int number1=0;
for(;i<=j;i++) {
number1=number1*10+state[i];//Java里面有Math.pow(10,2)函数
}
return number1;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan=new Scanner(System.in);
N=scan.nextInt();
dfs(1);
System.out.print(number);
}
}