static A jtscubc(J jt,A z,A i1,A p){A a,q,s,y,y1;B*qv;I c,d,h,j=-1,m,n,*sv,*u,*v;P*zp;
zp=PAV(z); a=SPA(zp,a); n=AN(i1); h=AN(a)-n;
if(!h)R mtm;
GA(s,INT,h,1,0); sv=AV(s);
d=1; u=AS(z); v=AV(a); DO(h, d*=sv[i]=u[v[n+i]];);
RZ(y=repeat(p,SPA(zp,i))); m=*AS(y);
RZ(y1=take(v2(m,n),y)); v=AV(y1);
GA(q,B01,m,1,0); qv=BAV(q);
if(m){memset(qv,C0,m); DO(m-1, if(ICMP(v,v+n,n)){if(d>i-j)qv[i]=1; j=i;} v+=n;); if(d>(m-1)-j)qv[m-1]=1;}
RZ(y1=repeat(q,y1)); c=*AS(y1);
if(!c)R mtm;
R less(stitch(repeat(sc(d),y1),reitem(sc(c*d),odom(2L,h,sv))),y);