import java.io.*;
import java.util.*;
public class Main{
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        InputReader in = new InputReader(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        TaskE solver = new TaskE();
        solver.solve(1, in, out);
        out.flush();out.close();
    }
        static class TaskE {
        final int mod=998244353;
        long add(long a,long b){
        	a+=b;
        	if(a>=mod)a-=mod;
        	return a;
        }
        long mul(long a,long b){
        	a*=b;
        	if(a>=mod)a%=mod;
        	return a;
        }

	 	  public void solve(int testNumber, InputReader in, PrintWriter out) {
	 	  	int n=in.nextInt(),k=in.nextInt();
 			long dp[][][][]=new long[2][n+1][n+1][2];
 			dp[1][1][1][1]=1;dp[1][1][0][0]=1;
 			int t=1;
 			for(int d1=2;d1<=n;d1++){
 				t=1-t;
 				for(int d2=1;d2<=d1;d2++){
 					for(int d3=1;d3<=d2;d3++){
 						for(int d4=0;d4<=1;d4++){
 							dp[t][d2][d3][d4]=add((d3==d2?dp[1-t][d2-1][d3-1][d4]:0),dp[1-t][d2][d3-1][d4]);
 						}
 					}
 					dp[t][d2][0][0]=dp[t][d2][0][1]=0;
 					for(int d3=1;d3<=d2;d3++){
 						for(int d4=0;d4<=1;d4++){
 							dp[t][d2][0][d4]=add(dp[t][d2][d3][1-d4],dp[t][d2][0][d4]);
 						}
 					}
 				}
 			}
 			long val[]=new long[n+1];
 			for(int d1=1;d1<=n;d1++){
 				for(int d2=1;d2<=d1;d2++){
 					val[d1]=add(val[d1],add(dp[t][d1][d2][0],dp[t][d1][d2][1]));
 				}
 			}
 			long ans=0;
 			for(int i=1;i<=n;i++){
 				for(int j=1;j<=n;j++){
 					if(i*j>=k)continue;
 					ans=add(ans,mul(val[i],val[j]));
 				}
 			}
 			ans=mul(ans,2);
 			out.print(ans);
          }
//         pair ja[][];long w[];int from[],to[],c[];
//             void make(int n,int m,InputReader in){
//              ja=new pair[n+1][];w=new long[m];from=new int[m];to=new int[m];c=new int[n+1];
//              for(int i=0;i<m;i++){
//               int u=in.nextInt(),v=in.nextInt();long wt=in.nextLong();
//               c[u]++;c[v]++;from[i]=u;to[i]=v;w[i]=wt;
//              }
//              for(int i=1;i<=n;i++){
//               ja[i]=new pair[c[i]];c[i]=0;
//              }
//              for(int i=0;i<m;i++){
//               ja[from[i]][c[from[i]]++]=new pair(to[i],w[i]);
//               ja[to[i]][c[to[i]]++]=new pair(from[i],w[i]);
//              }
//             }
//        int[] radixSort(int[] f){ return radixSort(f, f.length); }
//	int[] radixSort(int[] f, int n)
//	{
//		int[] to = new int[n];
//		{
//			int[] b = new int[65537];
//			for(int i = 0;i < n;i++)b[1+(f[i]&0xffff)]++;
//			for(int i = 1;i <= 65536;i++)b[i]+=b[i-1];
//			for(int i = 0;i < n;i++)to[b[f[i]&0xffff]++] = f[i];
//			int[] d = f; f = to;to = d;
//		}
//		{
//			int[] b = new int[65537];
//			for(int i = 0;i < n;i++)b[1+(f[i]>>>16)]++;
//			for(int i = 1;i <= 65536;i++)b[i]+=b[i-1];
//			for(int i = 0;i < n;i++)to[b[f[i]>>>16]++] = f[i];
//			int[] d = f; f = to;to = d;
//		}
//		return f;
//	}
    }
    static class InputReader {
        BufferedReader br;
        StringTokenizer st;
        public InputReader(InputStream stream) {
            br = new BufferedReader(new InputStreamReader(stream));
            st = null;
        }

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

        boolean hasMoreTokens() {
            while (st == null || !st.hasMoreTokens()) {
                String s = null;
                try {
                    s = br.readLine();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                if (s == null)
                    return false;
                st = new StringTokenizer(s);
            }
            return true;
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }
        public long nextLong() {
            return Long.parseLong(next());
        }
        public double nextDouble() {
            return Double.parseDouble(next());
        }
    }
}