#include <bits/stdc++.h>

using namespace std;

int main() {
  cin.tie(0);
  cin.sync_with_stdio(0);
  
  int n, k; cin >> n >> k;
  const int LIM = 3010;
  const long long MOD = 998244353;
  long long dp[LIM][LIM];
  // dp[i][j] = number of multisets that leave
  //            i elements to choose and j is the remaining sum
  for(int i = 0; i<LIM; ++i) {
    for(int j = 0; j<LIM; ++j) {
      dp[i][j] = 0;
    }
  }
  dp[n][k] = 1;
  for(int i = n; i>0; --i) {
    for(int j = LIM-1; j>0; --j) {
      int ways = dp[i][j];
      for(int k = 0; ; ++k) {
        int next_remaining = j*(1<<k)-1;
        if(next_remaining >= LIM) {
          break;
        }
        if(next_remaining >= 0) {
          dp[i-1][next_remaining] = (dp[i-1][next_remaining] + ways) % MOD;
        }
      }
    }
  }

  cout << dp[0][0] << endl;
}

#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(ll i=0;i<n;i++)
#define repl(i,l,r) for(ll i=(l);i<(r);i++)
#define per(i,n) for(ll i=n-1;i>=0;i--)
#define perl(i,r,l) for(ll i=r-1;i>=l;i--)
#define fi first
#define se second
#define pb push_back
#define mkp make_pair
#define ins insert
#define pqueue(x) priority_queue<x,vector<x>,greater<x>>
#define all(x) (x).begin(),(x).end()
#define CST(x) cout<<fixed<<setprecision(x)
#define vtpl(x,y,z) vector<tuple<x,y,z>>
#define rev(x) reverse(x);
#define lin(x) ll x; cin>>x;
#define stin(x) string x; cin>>x;
#define yn(x)  if(x) {  cout<<"Yes"<<endl;   }    else {    cout<<"No"<<endl;   }
#define YN(x)  if(x) {  cout<<"YES"<<endl;   }    else {    cout<<"NO"<<endl;   }
#define co(x) cout<<x<<endl;
using ll=long long;
using ld=long double;
using vl=vector<ll>;
using vvl=vector<vector<ll>>;
using pl=pair<ll,ll>;
using vpl=vector<pl>;
using vvpl=vector<vpl>;
const ll mod=1000000007;
const ll MOD9=998244353;
const int inf=1e9+10;
const ll INF=4e18;
const ll dy[8]={1,0,-1,0,1,1,-1,-1};
const ll dx[8]={0,-1,0,1,1,-1,1,-1};
template <typename T> inline bool chmax(T &a, T b) {
    return ((a < b) ? (a = b, true) : (false));
}
template <typename T> inline bool chmin(T &a, T b) {
    return ((a > b) ? (a = b, true) : (false));
}
ll powmod(ll n, ll k, ll m) {
ll r=1;
 for(; k>0; k >>=1) {
   if(k&1) r=(r*n)%m;
   n=(n*n)%m;
 }
  return r;
}

ll fact(ll n) {
ll a=1;
rep(i,n) {
a=a*(n-i);
}
return a;
}

ll pow(ll a, ll b) {
ll x=1;
rep(i,b) {
x=x*a;
}
return x;
}

int main() {
lin(X);
  if(X%100==0) {
co(100);
  }
  else {
    ll aa=X%100;
    co(100-aa);
  }
  
}