func_code_string: #include<bits/stdc++.h>   #define ll long long   #define ld long double   #define ull unsigned long long   #define izq nod * 2   #define der nod * 2 + 1   #define md (( a + b ) >> 1)   #define oo (1LL<<30LL)   #define len(X) (int)(X).size()   using namespace std;      const ll MOD = 998244353;      const int MX = 2 * 1e5+5;      ll F[MX],iF[MX];      ll pot( ll base, ll e){       ll ans = 1ll;              while( e ){           if( e & 1ll ) ans = (ans * base) % MOD;           base = (base * base) % MOD;           e>>=1ll;           }               return ans;     }      int main(){        ios_base::sync_with_stdio(0);    cin.tie(0);        int t;    cin>>t;        F[0] = iF[0] = 1;        for ( ll i = 1; i <= 2e5; i++ ){         F[i] = ( F[i-1] * i )%MOD;          iF[i] = pot ( F[i], MOD-2LL );    }        while ( t-- ){             int n;             cin>>n;                          string s;             cin>>s;                          int c0 = 0,c1 = 0;                          for ( int i = 0; i < len(s); i++ ){            if ( s[i] ==  1  && i < len(s)-1 && s[i+1] ==  1  ){              c1++; i++;         }         if ( s[i] ==  0  )c0++;        }              cout<<F[c0+c1] * iF[c0] % MOD * iF[c1] % MOD<<  n ;;                    }       return 0;    }   