ll d[61][2000]; char s[80]; { ll n; rd(s@n); ll a=0,b=0; rep(i,n){ a+=s[i]&1; b+=s[i]&1?i:0; } d[0][0]=1; rep(i,n){ rrep(j,1,n+1){ rep(k,i,2000){ d[j][k]+=d[j-1][k-i]; } } } wt(d[a][b]); }