struct S{ ll v[7]; ll o; }; ll e[20]; ll g; void f(ll d,vectorconst&a){ if(d<0){ ll t=0; rrep(i,20){ if(t|=e[i]){ wtN(e[i]); } } exit(0); }else{ for(;e[d]<10;++e[d]){ g|=e[d]; if(g){ static const ll t1[]={ 0b1110111, 0b0010010, 0b1011101, 0b1011011, 0b0111010, 0b1101011, 0b1101111, 0b1010010, 0b1111111, 0b1111011, }; ll p1=t1[e[d]]; static const ll t2[]={ 0b0001111, 0b0100100, 0, 0, 0, 0, 0b0101111, 0b1110010, 0, 0b1111010, }; ll p2=t2[e[d]]; vector b; for(auto x:a){ if(!(x.o&1<?=y.v[i]; } if(mx-mn?=y.v[i]; } if(mx-mn b; b.push_back(s); f(18,b); }