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
# Function to generate lucky numbers and indices
def generate_lucky_numbers():
    queue = ['4', '7']
    lucky_numbers = []
    while len(queue) > 0:
        number = queue.pop(0)
        if int(number) > 7777:
            break
        lucky_numbers.append(int(number))
        queue.append(number + '4')
        queue.append(number + '7')
    return sorted(lucky_numbers)

# Function to find the factorial
def factorial(n):
    fact = [1]
    for i in range(1, n+1):
        fact.append(fact[i-1] * i)
    return fact

# Function to find the number of lucky numbers
def find_lucky_numbers(n, k, lucky_numbers, fact):
    if k > fact[n]:
        return -1
    
    digits = list(range(1, n+1))
    lucky_count = 0
    for index in lucky_numbers:
        if index > n:
            break
        perm_group_size = fact[n-1]
        group_index = (k-1) // perm_group_size
        k = k % perm_group_size
        if k == 0:
            k = perm_group_size
        if digits[group_index] in lucky_numbers:
            lucky_count += 1
        digits.remove(digits[group_index])
        n -= 1
    return lucky_count

# Get the inputs from user
n, k = [int(s) for s in input().split()]

# Generate lucky numbers and find the factorial of n
lucky_numbers = generate_lucky_numbers()
fact = factorial(n)

# Find the lucky numbers and print the result
print(find_lucky_numbers(n, k, lucky_numbers, fact))