Petya loves lucky numbers. Everybody knows that lucky numbers are positive integers whose decimal representation contains only the lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.

One day Petya dreamt of a lexicographically *k*-th permutation of integers from 1 to *n*. Determine how many lucky numbers in the permutation are located on the positions whose indexes are also lucky numbers.
The first line contains two integers *n* and *k* (1 ≤ *n*, *k* ≤ 10<sup class="upper-index">9</sup>) — the number of elements in the permutation and the lexicographical number of the permutation.
7 4
1
4 7
1
7 1
2
7 5040
1
10 1023
0
7 7477
-1
10 10000
1
3 7
-1
27 1
2
40 8544
2
47 1
4
47 8547744
3
50 1000000000
4
64 87
4
98 854555
6
100 1
6
9985 5888454
30
1 1
0
1 2
-1
2 1000000000
-1
10 1000000000
-1
20 1000000000
2
777777 1
126
777777 2
125
777474 10000
120
1000000000 1
1022
777777777 5
1021
777777777 1
1022
777477774 1
989
444747744 1000000000
554
475 88555458
8
12 855448
1
20 1000000000
2
47 99998544
2
49 1000000000
2
854459 95554455
126
77777779 1000000000
508
77 47
5
6999 85488877
22
7479 58884598
24
1000000000 1000000000
1022
7 1000
0
7 124
1
7 2048
1
7 3001
1
7 127
1
7 980
1
7 5000
0
7 4095
2
7 3856
0
7 5032
0
7 4999
0
2 3
-1
2 4
-1
7 985
1
4 25
-1
6 121
1
11 39916801
-1
29 1000000000
2
10 4589
1
10 100000
1
10 98564
1
10 1
2
10 100000009
-1
def C(a,b):
  if a>b:return 0
  return 1+C(a*10+4,b)+C(a*10+7,b)
def chk(a):
  return a==0 or (a%10==4 or a%10==7)and chk(a//10)
P,G=print,range;n,k=map(int,input().split());k-=1
f=[1]+[0]*13;u=[0]*14;z=C(0,n)-1
for i in G(1,14):f[i]=f[i-1]*i
if n<=13 and f[n]<=k:exit(P(-1))
for i in G(13,-1,-1):
  cnt=k//f[i];c=-1
  while cnt>=0:c+=1;cnt-=not u[c]
  u[c]=1;t=c-13+n
  if t>0 and chk(n-i):z+=chk(t)-1
  k%=f[i]
P(z)