import java.util.*;
import java.io.*;
import static java.lang.Math.*;
public class Main
{  
    static MyScanner scan;
    static PrintWriter pw;
    static long dp[][][] = new long[501][2][501];
    static long MOD = 998244353;
    public static void main(String[] args) {
        new Thread(null,null,"_",1<<25)
        {
           public void run()
           {
               try
               {
                   solve();
               }
               catch(Exception e)
               {  
                   e.printStackTrace();
                   System.exit(1);
               }
           }
        }.start();
    }
    static void solve() throws IOException
    {
        scan = new MyScanner();
        pw = new PrintWriter(System.out,true);
        StringBuilder sb = new StringBuilder();
        int n = ni();
        int k = ni();
        long ans=0;
	for(int i=0;i<501;++i)
            for(int j=0;j<2;++j)
                Arrays.fill(dp[i][j],-1);
	for(int i=1;i<=n;i++)
        {
		for(int j=1;j<=n;j++)
                {
			if(i*j<k)
                        {
				long tv=(f(n,0,i)*2);
				long temp=f(n,0,j);
				ans=ans+tv*temp;
				if(ans>=MOD) ans%=MOD;
			}
			else break;
		}
	}
	pl(ans);
        pw.flush();
        pw.close();
    }
    static long f(int x,int t,int left){
	if(x<0) return 0;
	if(x==0){
		if(t==1) return 1;
		return 0;
	}
	if(dp[x][t][left]!=-1)
            return dp[x][t][left];
	long ans=0;
	for(int i=1;i<=left;++i){
		if(x-i<0) break;
		ans=(ans+f(x-i,(t|(i==left?1:0)),left));
		if(ans>=MOD) ans-=MOD;
	}
	return dp[x][t][left]=ans;
    }   
    static int ni() throws IOException
    {
        return scan.nextInt();
    }
    static long nl() throws IOException
    {
        return scan.nextLong();
    }
    static double nd() throws IOException
    {
        return scan.nextDouble();
    }
    static String ne() throws IOException
    {
        return scan.next();
    }
    static String nel() throws IOException
    {
        return scan.nextLine();
    }
    static void pl()
    {
        pw.println();
    }
    static void p(Object o)
    {
        pw.print(o+" ");
    }
    static void pl(Object o)
    {
        pw.println(o);
    }
    static void psb(StringBuilder sb)
    {
        pw.print(sb);
    }
    static class MyScanner
    {
        BufferedReader br;
        StringTokenizer st;
        MyScanner()
        {
            br = new BufferedReader(new InputStreamReader(System.in));
        }
        String nextLine()throws IOException
        {
            return br.readLine();
        }
        String next() throws IOException
        {
            if(st==null || !st.hasMoreTokens())
                st = new StringTokenizer(br.readLine());
            return st.nextToken();
        }
        int nextInt() throws IOException
        {
            return Integer.parseInt(next());
        }
        long nextLong() throws IOException
        {
            return Long.parseLong(next());
        }
        double nextDouble() throws IOException
        {
            return Double.parseDouble(next());
        }
    }
}