#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <queue>
#include <cmath>
using namespace std;
typedef long long ll;
ll mod=998244353;
ll n;

string bit(ll nn,ll nx){
  string ans="";
  for(int i=0;i<nx;i++){
    char c=nn%2+'0';
    ans=c+ans;
    nn/=2;
  }
  return ans;
}

int main(){
  string x;
  cin >> n >> x;
  ll sum=0,c=1;
  for(int i=n-1;i>=0;i--){
    if(x[i]=='1'){
      sum+=c; sum%=mod;
    }
    c*=2; c%=mod;
  }
  ll ans=(sum+1)*2*n%mod;
  vector<ll> cnt(n);
  for(int i=n/2*2+1;i>=3;i-=2){
    if(n%i==0){
      ll y=1,z=0;
      int k=n/i;
      for(int j=k-1;j>=0;j--){
        if(x[j]=='1'){
          z+=y; z%=mod;
        }
        y*=2; y%=mod;
      }
      cnt[k]+=z;
      string st="";
      string sts=x.substr(0,k);
      string stt="";
      for(int j=0;j<k;j++){
        if(sts[j]=='0') stt+='1';
        else stt+='0';
      }
      for(int j=0;j<i;j++){
        if(j%2==0) st+=sts;
        else st+=stt;
      }
      cerr << st << endl;
      if(st<=x) cnt[k]++;
      for(int j=1;j<k;j++){
        if(k%j==0) cnt[k]-=cnt[j];
      }
      ans=(ans+mod-(2*(n-k)*cnt[k])%mod)%mod;
    }
  }
  cout << ans << endl;
}