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.
#include<iostream>
#include<cstdlib>
#include<typeinfo>
#include<iomanip>
#include<string>
#include <algorithm>
#include<cmath>
#include<vector>
#include<set>
#include<queue>
#include<deque>
#include<list>
#include<map>
#include<stack>
#include <unordered_map>
#include <unordered_set>
using namespace std;
typedef long long int ll;
using vi = vector<int>;
using vl = vector<ll>;
using vc = vector<char>;
using Set = set<int>;
const double pi = 3.1415926535897;

#define sz(x)        x.size()
#define srt(v)       sort(v.begin(),v.end())
#define toLower(x)   transform(x.begin(),x.end(),x.begin(),::tolower)
#define toUpper(x)   transform(x.begin(),x.end(),x.begin(),::toupper)
#define endl         "\n";
#define YES          cout<<"YES\n";
#define NO           cout<<"NO\n";
#define fori(n)      for (int i = 0; i < int(n); i++)
#define for1(n)      for (int i = 1; i <= int(n); i++)
#define for2(n)      for (int j = 1; j <= int(n); j++)
#define forj(n)      for (int j = 0; j < int(n); j++)
#define cinn(v)      for (auto& it : v)cin >> it;
#define FAST         ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
#define test         int t; cin>>t; while(t--)
#define ind(v,x)     lower_bound(v.begin(), v.end(), x) - v.begin()
const int mod = 1e9 + 7;

int GCD(int x, int y)
{
    if (x < y)
        swap(x, y);
    while (x != 0 && y != 0)
    {
        int res = x % y;
        x = y;
        y = res;
    }
    return x;
}

int max_sub_array(int arr[], int size)
{
    int mx = INT_MIN, end = 0;
    fori(size)
    {
        end += arr[i];
        if (mx < end)
            mx = end;
        if (end < 0)
            end = 0;
    }
    return mx;
}
bool isprime(ll x)
{
    if (x == 2)
        return 1;
    if (x == 1)
        return 0;
    ll lim = sqrt(x);
    for (int i = 2; i <= lim; i++)
    {
        if (x % i == 0)
            return false;
    }
    return true;
}
ll nCr(int n, int r) {
    if (r == 0) {
        return 1;
    }
    return ((n * nCr(n - 1, r - 1)) / r);
}

//                 صل على الحبيب المصطفى
void MY_Solution()
{
    int n, x;
    cin >> n >> x;
    ll arr[n+5][n+5] ;
    int cnt = 0;
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            arr[i][j] = i * j;
            if (arr[i][j] == x)cnt++;
        }
    }
    cout << cnt;
}

int main()
{
    FAST
       // test
        
        MY_Solution();
}



