ll d[2d5],f[2d5]; { ll@n,@m,@p,b=0,c=0,g=0; rep(i,n){ ll@a,e=0; b>?=a; while(a%p<1){ a/=p; ++e; } g>?=e; c>?=a; f[e]>?=a; } i=-1; if(b>m|c>1){ d[i=0]=b; while(d[i]<=m){ rep(j,g+1){ d[i+j+1]>?=d[i]*f[j]; } ++i; } ++i; } wt(i); }