import java.util.*;
import java.io.*;

public class Main {
	public static void main(String args[]) {new Main().run();}

	FastReader in = new FastReader();
	PrintWriter out = new PrintWriter(System.out);
	void run(){
		work();
		out.flush();
	}
	long mod=998244353;
	long gcd(long a,long b) {
		return b==0?a:gcd(b,a%b);
	}
	void work() {
		int n=in.nextInt();
		int k=in.nextInt();
		long[][] dp=new long[n][n+1];
		for(int i=0;i<n;i++) {
			for(int j=1;j<=n;j++) {
				if(i==0)dp[0][j]=1;
				else {
					if(j>i) dp[i][j]=dp[i-1][j]*2;
					else {//j-1,j-2,...,j-k;
						dp[i][j]=2*dp[i-1][j]-(i-j-1<0?1:dp[i-j-1][j]);
					}
					dp[i][j]%=mod;
				}
			}
		}
		long[] f=new long[n+1];
		long ret=0;
		for(int i=1;i<=n;i++) {
			f[i]=(dp[n-1][i]-dp[n-1][i-1]+mod)%mod;
		}
		for(int i=1;i<=n;i++) {
			for(int j=1;i*j<k&&j<=n;j++) {
				ret+=f[i]*f[j];
				ret=ret%mod;
			}
		}
		out.println((ret*2)%mod);
	}
}	



class FastReader
{
	BufferedReader br;
	StringTokenizer st;

	public FastReader()
	{
		br=new BufferedReader(new InputStreamReader(System.in));
	}

	public String next() 
	{
		if(st==null || !st.hasMoreElements())
		{
			try {
				st = new StringTokenizer(br.readLine());
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
		return st.nextToken();
	}

	public int nextInt() 
	{
		return Integer.parseInt(next());
	}

	public long nextLong()
	{
		return Long.parseLong(next());
	}
}