幸运排列

题目描述

Y 同学非常喜欢“幸运数字”。所谓幸运数字,是指在十进制表示下,仅由数字 4477 构成的正整数(例如 47,744,447, 744, 4 是幸运数字,而 5,17,4675, 17, 467 不是)。

现在,Y 同学希望构造一个由 11NNNN 个正整数组成的排列 A=(A1,A2,,AN)A = (A_1, A_2, \dots, A_N),并且要求该排列是在所有可能的 NN 元素排列中,按字典序升序排列后第 KK 小的排列。

Y 同学想知道,在这个特定的排列 AA 中,有多少个下标 ii1iN1 \le i \le N)满足:下标 ii 本身是幸运数字,且该位置上的元素 AiA_i 也是幸运数字。

请你编写程序帮助 Y 同学计算满足条件的下标个数。

输入格式

第一行包含两个整数 NNKK,分别表示排列中元素的个数以及要求的字典序编号。

输出格式

如果由 11NN 组成的排列总数严格小于 KK(即字典序第 KK 小的排列不存在),请输出一行一个整数 -1

否则,输出一行一个整数,表示满足 iiAiA_i 均为幸运数字的下标 ii 的个数。

样例

样例输入 #1

7 4

样例输出 #1

1

样例输入 #2

4 7

样例输出 #2

1

数据范围与约定

对于 100%100\% 的数据,保证 1N,K1091 \le N, K \le 10^9

子任务编号 分值 NN \le KK \le 特殊性质
1 20 1010 10610^6
2 30 1212 10910^9
3 50 10910^9

相关

在下列比赛中:

「果壳杯」 ROUND 43 (Div. 3)