http://lx.lanqiao.cn/problem.page?gpid=T26
#include <bits/stdc++.h>
using namespace std;
const int maxn=1000000+5;
const int INF=0x3f3f3f3f;
long k[maxn];
int num[11];
int n;
int ans;
void go(int x,int y,int z){
int a=0;
int b=0;
int c=0;
int cnt=1;
for (int i=0;i<x;i++){
a=a*10+num[cnt++];
}
for (int i=0;i<y;i++){
b=b*10+num[cnt++];
}
for (int i=0;i<z;i++){
c=c*10+num[cnt++];
}
if (a*c+b==n*c){
ans++;
}
}
void check(){
for (int i=1;i<=7;i++){
for (int j=1;j<=9-1-i;j++){
go(i,j,9-i-j);
}
}
}
int main(){
cin >> n;
for (int i=1;i<=9;i++){
num[i]=i;
}
do{
check();
}while (next_permutation(num+1,num+10));
cout << ans << endl;
}