Let's consider a table consisting of *n* rows and *n* columns. The cell located at the intersection of *i*-th row and *j*-th column contains number *i* × *j*. The rows and columns are numbered starting from 1.

You are given a positive integer *x*. Your task is to count the number of cells in a table that contain number *x*.
The single line contains numbers *n* and *x* (1 ≤ *n* ≤ 10<sup class="upper-index">5</sup>, 1 ≤ *x* ≤ 10<sup class="upper-index">9</sup>) — the size of the table and the number that we are looking for in the table.
import collections
import itertools


def get_prime_divisors(n):
    i = 2
    while i * i <= n:
        if n % i == 0:
            n /= i
            yield i
        else:
            i += 1

    if n > 1:
        yield n


def calc_product(iterable):
    acc = 1
    for i in iterable:
        acc *= i
    return acc


def get_all_divisors(n):
    primes = get_prime_divisors(n)

    primes_counted = collections.Counter(primes)

    divisors_exponentiated = [
        [div ** i for i in range(count + 1)]
        for div, count in primes_counted.items()
    ]

    for prime_exp_combination in itertools.product(*divisors_exponentiated):
        yield calc_product(prime_exp_combination)


num, x = map(int, input().split())
res = 0

a = list(get_all_divisors(x))
a_new = list(filter(lambda m: m <= num, a))
print(int(len(a) - ((len(a) - len(a_new)) * 2)))


# количество пар делителей числа x, где каждый из делителей не превышает n
