#include #include #include #include #include #include #include unsigned long long int fact(unsigned long long int n) { unsigned long long int c, result = 1; for (c = 1; c <= n; c++) result = result * c; return result; } int main() { char* s = (char *)malloc(512000 * sizeof(char)); scanf("%s", s); unsigned long long int q; scanf("%llu", &q); while(q--){ int h[30]={0}; unsigned long long int l,r,i,r1=0,e=0,c; scanf("%llu %llu",&l,&r); for(i=l-1;i0){ e=e+h[i]%2; r1=r1+h[i]/2; // printf("\n%d %d\n",c,c1); } } printf("%llu\n",fact(r1)*fact(e)); } return 0; }