#include<bits/stdc++.h>
#define ll long long
using namespace std;
const ll p=998244353;
ll n,m,ans,jc[500010],ny[500010];
ll ksm(ll x,ll y){
	ll xlh=1;
	while(y){
		if(y&1)xlh=xlh*x%p;
		x=x*x%p;
		y/=2;
	}
	return xlh;
}
ll C(ll x,ll y){
	return jc[x]*ny[y]%p*ny[x-y]%p;
}
int main(){
	ll i,j,x,y,xlh;
	scanf("%lld%lld",&n,&m);
	jc[0]=ny[0]=1;
	for(i=1;i<=500000;i++)jc[i]=jc[i-1]*i%p,ny[i]=ksm(jc[i],p-2);
	for(i=1;i<=m;i++){
		x=i;
		xlh=1;
		for(j=2;j*j<=x;j++)if(x%j==0){
			//printf("%lld %lld\n",i,j);
			y=0;
			while(x%j==0)x/=j,y++;
			xlh=xlh*C(y-1+n,n-1)%p;
		}
		if(x>1)xlh=xlh*n%p;
		ans=(ans+xlh)%p;
	}
	printf("%lld",ans);
}
#include<string>
#include<iostream>
#include <algorithm>
#include<vector>
#include<functional>
#include <cstdlib>
#include <iomanip>
#include <cmath>
#include <numeric>
#include <math.h>
#define ll long long 
#define PI 3.14159265358979323846
#define rep(i,n) for(ll i=0;i<(ll)n;i++)
#define rep1(x,n) for(ll x=1;x<(ll)n+1;x++)
using namespace std;

int g1(ll g1) {
	vector<ll> a;
	bool sw = true;
	ll l1 = 1;
	while (sw) {
		if (g1 > 9) {
				a.push_back(g1 % 10);
				g1 /= 10;
				l1++;
			
		}
		else {
			a.push_back(g1);
			sw = false;
		}
	}
	sort(a.begin(), a.end());
	ll gg1 = 0;
	ll b = 1;
	rep(j, l1) {
		gg1 += a.at(j) * b;
		b *= 10;
	}
	return gg1;
}
int g2(ll g2) {
	vector<ll> a;
	bool sw = true;
	ll l1 = 1;
	while (sw) {
		if (g2 > 9) {
				a.push_back(g2 % 10);
				g2 /= 10;
				l1++;
		}
		else {
			a.push_back(g2);
			sw = false;
		}
	}
	sort(a.begin(), a.end(),greater<ll>());
	ll gg2 = 0;
	ll b = 1;
	rep(j, l1) {
		gg2 += a.at(j) * b;
		b *= 10;
	}
	return gg2;
}

int main() {
	float A, B;
	cin >> A >> B;
	float ans = ((A - B)*100 / A);
	cout << ans << endl;
	
}
