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.


-----Input-----

The single line contains numbers n and x (1 ≤ n ≤ 10^5, 1 ≤ x ≤ 10^9) — the size of the table and the number that we are looking for in the table.


-----Output-----

Print a single number: the number of times x occurs in the table.


-----Examples-----
Input
10 5

Output
2

Input
6 12

Output
4

Input
5 13

Output
0



-----Note-----

A table for the second sample test is given below. The occurrences of number 12 are marked bold.  [Image]

Difficulty: interview

Starter code:

Solutions:
n, x = map(int, input().split())
ans = 0
for i in range(n, 0, -1):
    if x % i == 0 and x//i <= n:
        ans += 1
print(ans)

n, x = (int(x) for x in input().split())


ans = 0
for i in range(1, n + 1):
	if x % i == 0:
		j = x // i
		if 1 <= j <= n:
			ans += 1

print(ans)

n,x = list(map(int,input().split()))
cnt = 0
for i in range(1,n+1,1):
    if(x%i==0 and x//i<=n):
        cnt+=1
print(cnt)


def main():
    count = 0
    n, x = map(int, input().split())
    for i in range(1, n + 1):
        if x % i == 0:
            if x // i <= n:
                count += 1
    print(count)    

main()

# = int(input())
from math import ceil, sqrt
n, x = map(int, input().split())
# = [int(x) for x in input().split()]
cnt = 0
s = set()

for i in range(1, ceil(sqrt(x))+1):
    if x % i == 0 and i <= n and x / i <= n:
        s.add(i)
        s.add(x // i)
#print(s)
print(len(s))

n, x = list(map(int, input().split()))
p = 0
for i in range(1,n+1):
    if x%i == 0:
        k = x//i
        if k > n: continue
        p += 1
        #print(i,k)
print(p)


n, x = [int(i) for i in input().split()]
print(sum([x%i == 0 and x//i <= n for i in range(1, n+1)]))

x, n = map(int, input().split())
d = 1
res = 0
while d < n ** 0.5:
    if n % d == 0 and d <= x and n // d <= x:
        res += 2
    d += 1
if d * d == n and d <= x:
    res += 1
print(res)

n,x=list(map(int,input().split()))
ans=0
for i in range(1,n+1):
    if x%i==0 and 0<x//i<=n: 
        ans+=1
print(ans)


n, x = map(int, input().split())
ans = 0
for i in range(1, n+1):
    if x % i == 0 and x // i <= n:
        ans += 1
print(ans)

(n,x)=map(int,input().split())
k=0
for i in range(1,n+1):
	if x%i==0 and x//i<=n:
		k+=1
print(k)

n, x = list(map(int, input().split()))

cnt = 0
from math import sqrt
for i in range(1, int(sqrt(x)) + 1):
    j = x // i
    if i * j == x and i <= n and j <= n:
        cnt += 2
        if i == j:
            cnt -= 1
print(cnt)


n, x = map(int, input().split(' '))
c = 0
for i in range(1, n+1):
    d = x // i
    m = x % i
    if d <= n and m == 0:
        c += 1
print(c)

n, x = list(map(int, input().split()))

count = 0

for i in range(1,n+1):
    if (x%i == 0 and x/i <=n):
        count += 1

print(count)
        


n, m = map(int, input().split())
answer = 0
for i in range(1, n + 1):
    if m % i == 0 and m // i <= n:
        answer += 1
print(answer)

n, x = input().split()
n = int(n)
X = int(x)

if X > n ** 2:
    print(0)
else:
    fin = 0
    for x in range(n):
        v = X / (x + 1)
        fin += v.is_integer() and v <= n
    print(fin)


n,x = map(int,input().split())
l = 0
for i in range(1, n+1):
    if(x % i == 0 and x // i <=n):
        l+=1
print(l)

__author__ = 'User'
n, x = list(map(int, input().split()))
c = 0
#print(x // n)
for i in range(max(1, x // n), n + 1):
    if x % i == 0 and x // i <= n:
        #print(i)
        c += 1
print(c)


#!/usr/bin/env python3
"""
Codeforces Round #319 (Div. 2)

Problem 577 A. Multiplication Table

@author yamaton
@date 2015-09-10
"""

import itertools as it
import functools
import operator
import collections
import math
import sys


def solve(n, x):
    sqx = int(math.sqrt(x))
    lim = min(sqx, n)
    count = sum(2 for i in range(1, lim + 1) if x % i == 0 and (x // i <= n))
    if sqx * sqx == x and sqx <= n:
        count -= 1
    return count


def print_stderr(*args, **kwargs):
    print(*args, file=sys.stderr, **kwargs)


def main():
    [n, x] = [int(i) for i in input().strip().split()]
    result = solve(n, x)
    print(result)


def __starting_point():
    main()

__starting_point()

n, x = map(int, input().split())
cnt = 0
for i in range(1, n + 1):
    if ((x // i) == (x / i)) and ((x // i) <= n):
        cnt += 1
print(cnt)        

n, x = [int(i) for i in input().split(' ')]

cnt = 0

for i in range(1, n + 1):
    if (x % i == 0):
        if (x // i <= n):
            cnt += 1

print(cnt)


n, x = list(map(int, input().split()))
ans = 0
for i in range(1, n + 1):
    if x % i == 0 and x // i <= n:
        ans += 1
print(ans)        


def __starting_point():
    arr = input().split()
    s = int(arr[0])
    num = int(arr[1])
    count = 0
    for i in range(1, s + 1):
        if i > num + 1:
            break
        if num % i == 0 and num / i <= s:
            count += 1
    print(count)
__starting_point()

n, q = list(map(int, input().split()))
count = 0
for var in range(1, n + 1):
    if (q / var) % 1 == 0 and q // var <= n:
        count += 1
print(count)


n, x = list(map(int, input().split()))
count = 0
for i in range(1,n+1):
    if x%i==0:
        if x//i <= n:
            count += 1
print(count)