#pragma GCC optimize("Ofast") #pragma GCC target("avx2") char*mmap(); #define rd_skip() while(*rp++>=48) #define wt(v) {long _z=v;do*--wp=_z%10+48;while(_z/=10);} #define rep(v,e) for(long v=0;v10;){ if(c=='?'){ rep(i,9){ addto(d[i+1][1],d[i][0]); } }else{ long i=a[c]; if(i){ addto(d[i][0],d[i-1][0]); addto(d[i][1],d[i-1][1]); } } } long z=d[9][0]+d[9][1]; z-=z