//测试详情,多谢!
#include <stdio.h>
int num[10007] = {6, 2, 5, 5, 4, 5, 5, 3, 7, 6}, b[1007];
int cnt, n, vis[10007][10007];
void dfs(int k) {
for (int i = 0; i <= 999; ++i) {
if (n - num[i] >= 0) {
b[k] = i;
n -= num[i];
if (k == 3) {
if (b[1] + b[2] == b[3] && ((!vis[b[1]][b[2]] && b[1] != b[2]) || (!vis[b[1]][b[2]] && !vis[b[2]][b[1]] && b[1] == b[2])) && n == 0) {
cnt++;
if (b[1] != b[2]) vis[b[1]][b[2]] = 1;
else vis[b[1]][b[2]] = 1, vis[b[2]][b[1]] = 1;
n += num[i];
return;
}
}
else dfs(k + 1);
n += num[i];
}
}
}
int main() {
scanf("%d", &n);
n -= 4;
for (int i = 10; i <= 999; ++i)
num[i] = num[i / 10] + num[i % 10];
dfs(1);
printf("%d", cnt);
return 0;
}