1 #include<iostream>
2 using namespace std;
3 bool flag[10];
4 int que[10];
5 int ans, num;
6 void check() {
7 int Li, Lk, Lj, di, dj, i;
8 for (di = 1; di < 9; ++di) {
9 Li = 0;
10 for (i = 1; i <= di; ++i) {
11 Li = Li * 10 + que[i];
12 }
13 for (dj = 1; di + dj < 9; ++dj) {
14 Lj = 0;
15 for (i = di + 1; i <= di + dj; ++i) {
16 Lj = Lj * 10 + que[i];
17 }
18 Lk = 0;
19 for (i = di + dj + 1; i < 10; ++i) {
20 Lk = Lk * 10 + que[i];
21 }
22 if (Li * Lj - Lk == num) {
23 ++ans;
24 }
25 }
26 }
27 }
28 void dfs(int number) {
29 if (number > 9) {
30 check();
31 }
32 int i;
33 for (i = 1; i < 10; ++i) {
34 if (!flag[i]) {
35 flag[i] = true;
36 que[number] = i;
37 dfs(number + 1);
38 flag[i] = false;
39 }
40 }
41 }
42 int main()
43 {
44 cin >> num;
45 dfs(1);
46 cout << ans << endl;
47 return 0;
48 }