#include using namespace std; using ll = long long; using P = pair; #define fix(x) fixed << setprecision(x) #define asc(x) x, vector, greater #define rep(i, n) for(ll i = 0; i < n; ++i) #define all(x) (x).begin(),(x).end() templatebool chmin(T&a, const T&b){if(a>b){a=b;return 1;}return 0;} templatebool chmax(T&a, const T&b){if(a> n >> s; vector dp(n+2,0); dp[1] = 1; int now = 0, r = n-1; while(r>=0 && s[r]=='0') r--; for(int i=0;i<=r;i++){ if(s[i]=='1') now = i+1; dp[i+2] = (dp[i+1] + dp[now]) % MOD; } cout << dp[r+1] << '\n'; return 0; }