#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+2][1],d[i+1][0]); } }else{ long i=a[c]; addto(d[i+1][0],d[i][0]); addto(d[i+1][1],d[i][1]); } } long z=d[10][0]+d[10][1]; z-=z