// inputに入力データ全体が入る
function Main(input) {
	// 1行目がinput[0], 2行目がinput[1], …に入る
	var Input = input.split("\n");
	
  	var n = Number(Input[0]);
  	var x = parseInt(Input[1],2)
    var ans = 0
    
	for(var i=0; i<=x; i++){
    	
      var num = parseInt(i,10)
      var arr = []
      var aaa = -1
      var cnt = 0
      
      while(aaa < 0){
      	if(num % 2 == 1){
        	var base = num
        	num = (num - 1 ) / 2
        	aaa = arr.indexOf(num)
        	arr.push(num)
        	cnt  = cnt + 1
          if(aaa >= 0){
            num = base
            cnt = cnt - 1 
          }  
        }else{
          var base = num
       	  num = num / 2 
          num = num + Math.pow(2,n-1)
          aaa = arr.indexOf(num)
          arr.push(num)
          cnt  = cnt + 1
          if(aaa >= 0){
            num = base
            cnt = cnt - 1 
          } 
        }
  
  	  }
        if(num != parseInt(i,10)){cnt = 0}
        
        ans = ans + cnt
    }
    
	//出力
	console.log(ans % 998244353);
}
//*この行以降は編集しないでください（標準入出力から一度に読み込み、Mainを呼び出します）
Main(require("fs").readFileSync("/dev/stdin", "utf8"));