/**
____    ____    ____    __________________    ____    ____    ____
||I ||  ||c ||  ||e ||  ||                ||  ||M ||  ||a ||  ||n ||
||__||  ||__||  ||__||  ||________________||  ||__||  ||__||  ||__||
|/__\|  |/__\|  |/__\|  |/________________\|  |/__\|  |/__\|  |/__\|

*/

#include <algorithm>
#include <iostream>
#include  <vector>

#define maxn 5005
#define maxlog 21
#define PB push_back
#define X first
#define Y second
#define control cout<<"passed"<<endl;

typedef long long ll;
typedef std::pair<int, int> pii;
typedef std::pair<ll, ll> pll;
typedef std::pair<int, ll> pil;
typedef std::pair<ll, int> pli;
typedef long double ld;


const ll mod = 998244353;
const ll INF = 4e18;
const double eps = 1e-12;



int dp[maxn][maxn];
int n, c;

void read()
{
    std::cin >> n >> c;

    for(int i = 1; i <= c; i++)
        dp[1][i] = 1;

    for(int i = 2; i <= n; i++)
    {
        for(int j = 1; j <= c; j++)
        {
            for(int k = 1; k * j <= c; k++)
            {
                dp[i][j] += dp[i - 1][j * k];
                if(dp[i][j] >= mod)
                    dp[i][j] -= mod;
            }
        }
    }

    ll ans = 0;
    for(int i = 1; i <= c; i++)
    {
        ans += dp[n][i];
        if(ans >= mod)
            ans -= mod;
    }

    std::cout << ans << "\n";
}


int main()
{
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(nullptr);

    read();


    return 0;
}
