#include using namespace std; #define ALL(x) begin(x),end(x) #define rep(i,n) for(int i=0;i<(n);i++) #define debug(v) cout<<#v<<":";for(auto x:v){cout<bool chmax(T &a,const T &b){if(abool chmin(T &a,const T &b){if(b ostream &operator<<(ostream &os,const vector&v){ for(int i=0;i<(int)v.size();i++) os< istream &operator>>(istream &is,vector&v){ for(T &x:v)is>>x; return is; } signed main(){ string S;cin>>S; int N=(int)S.size(); int K=0; vector P; rep(i,N)if(S[i]=='1') P.push_back(i); K=(int)P.size(); const int T=3000; const int geta=T/2; vector>> dp(N+1,vector>(K+1,vector(T*2,0))); dp[0][0][geta]=1; rep(i,N){ rep(j,K+1){ rep(k,T*2){ // okanai dp[i+1][j][k]+=dp[i][j][k]; // oku if(j