#include <cstdio> using namespace std; long long cost[10], ans; int cnt[10], t[10], n; void dfs(int rest, int now, long long current) { if (rest == 0) { long long temp = current; for (int i = 0; i < 10; i++) t[i] = 0; while (temp > 0) { ++t[temp % 10]; temp /= 10; } bool flag = 1; for (int i = 0; i < 10; i++) if (cnt[i] != t[i]) { flag = 0; break; } if (flag) { __(1)__; } return; } if ( __(2)__ ) { return; } for (cnt[now] = 0; cnt[now] <= rest; cnt[now]++) dfs(rest - cnt[now], now + 1, __(3)__ ); cnt[now] = 0; } int main() { scanf("%d", &n); for (int i = 0; i < 10; i++) { cost[i] = 1; for (int j = 0; j < n; j++) __(4)__ ; } dfs( __(5)__ ); printf("%lld\n",ans); return 0; }