#include using namespace std; using ll=long long; #include using mint=atcoder::modint998244353; struct Combination{ int n; vector _fact,_factinv; Combination(int n):n(n){ _fact.resize(n+1,1);_factinv.resize(n+1,1); for(int i=0;i=0;i--)_factinv[i]=_factinv[i+1]*(i+1); } mint fact(int x){ return _fact[x]; } mint factinv(int x){ return _factinv[x]; } mint C(int x,int y){ assert(0<=x&&x<=n&&0<=y); if(x>n; string s; cin>>s; while(s.size()>0&&s.back()=='0')s.pop_back(); ranges::reverse(s); while(s.size()>0&&s.back()=='1')s.pop_back(); ranges::reverse(s); n=s.size(); if(n==0){ cout<<1<