#pragma GCC optimize(3) #include #define debug(x) cout<<#x<<":"< PII; typedef vector VI; const int INF = 0x3f3f3f3f; const int N = 2e5 + 10; const ll mod = 1000000007; const double eps = 1e-9; const double PI = acos(-1); templateinline void read(T &a) { char c = getchar(); T x = 0, f = 1; while (!isdigit(c)) {if (c == '-')f = -1; c = getchar();} while (isdigit(c)) {x = (x << 1) + (x << 3) + c - '0'; c = getchar();} a = f * x; } int gcd(int a, int b) {return (b > 0) ? gcd(b, a % b) : a;} vector p; const int M = 15; int all[M], ok[M] , n = 8 ; void dfs(int u) { if(u == n) { int k = 0 ; for(int i = 0 ; i < n ; i++) { k = k * 10 + all[i] ; } p.push_back(k) ; return ; } for(int i = 1 ; i <= n ; i++) { if(ok[i] == 0) { all[u] = i ; ok[i] = 1; dfs(u + 1); ok[i] = 0; } } } int main() { dfs(0); int k; cin>>k; int res =0 ; for(int i = 0 ; i