summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--1.c13
-rw-r--r--2.c90
-rw-r--r--3.c18
-rw-r--r--a.c46
-rw-r--r--a.h18
-rw-r--r--b.c13
-rw-r--r--dy/err0
-rw-r--r--e.c2
-rw-r--r--f.c20
-rw-r--r--g.h54
-rwxr-xr-xg.k4
-rw-r--r--h.c35
-rw-r--r--i.c10
-rw-r--r--m.c7
-rw-r--r--o.c6
-rw-r--r--s.c16
-rw-r--r--t/t.k2
-rw-r--r--v.c12
-rw-r--r--vim-c/syntax/n.vim2
-rw-r--r--w.c113
-rw-r--r--x.c2
21 files changed, 269 insertions, 214 deletions
diff --git a/1.c b/1.c
index 052b1e8d..ac73ef1e 100644
--- a/1.c
+++ b/1.c
@@ -5,15 +5,14 @@
#define F1(f,T,c...) hf(f##T,T,i(PD(n,a),r[i]=({c;}))n)
TD size_t(*F1)(OV*,V*,N);NG(B)NG(H)NG(I)F1(neg,L,-a[i])F1(neg,D,-a[i])
-A pen(Ax,A1*f)_(XmMA(e1f(x,f))et1(x))
-A1(neg,XmMA(e1f(x,neg))Xzc(az(-gl(x)))Xd(ad(-gd(x)))XC(neg(cB(x)))
+A pen(Ax,A1*f)_(XmMA(e1f(f,x))et1(x))
+A1(neg,XmMA(e1f(neg,x))Xzc(az(-gl(x)))Xd(ad(-gd(x)))XC(neg(cB(x)))
XZD(S O F1 f[]={negB,negH,negI,negL,negD};Nn=xn;Ay=xr>1?an(xt,n):x;Nm=f[xt-tB](xV,yV,n);
I(m<n,I(x-y,x=wdn(x,m,n,n-m);y=wdn(y,0,m,n))E(x=y=wdn(y,0,n,n))N mw=m*yW;f[xt-tB](xV+(x-y?0:mw),yV+mw,n-m))x-y?x(y):y)
et1(x))
-A1(not,XmMA(e1f(x,not))XF(x(ai(x==au)))eql(xtsS?as(0):ai(0),x))
-A1(nul,XmMA(e1f(x,nul))XF(x(ai(x==au)))XD(Ay=aB(xn);xe(i(xn,yb=xd!=xd);y))Xd(x(ai(*xD!=*xD)))eql(_R(cn[xt]),x))
-A1(flr,XmMA(e1f(x,flr))XcC(K("`c$@[!256;65+!26;+;32]",cB(x)))XsS(cS(flr(str(x))))XzZ(x)
- XdD(Ay=an(xt+tl-td,xn);xe(i(yn,yl=xd<0?(L)xd-(xd<(L)xd):(L)xd)y))et1(x))
+A1(not,XmMA(e1f(not,x))XF(x(ai(x==au)))eql(xtsS?as(0):ai(0),x))
+A1(nul,XmMA(e1f(nul,x))XF(x(ai(x==au)))XD(Ay=aB(xn);xe(i(xn,yb=xd!=xd);y))Xd(x(ai(*xD!=*xD)))eql(cn[xt],x))
+A1(flr,XmMA(e1f(flr,x))XcC(K("`c$@[!256;65+!26;+;32]",cB(x)))XsS(cS(flr(str(x))))XzZ(x)XdD(Ay=an(xt+tl-td,xn);xe(i(yn,yl=xd<0?(L)xd-(xd<(L)xd):(L)xd)y))et1(x))
-#define h(k,f) A1(k,XdD(Ay=xr-1?an(xt,xn):x;i(PD(xn,xD),yd=f(xd));x-y?x(y):y)XmMA(e1f(x,k))k(N(cD(x))))
+#define h(k,f) A1(k,XdD(Ay=xr-1?an(xt,xn):x;i(PD(xn,xD),yd=f(xd));x-y?x(y):y)XmMA(e1f(k,x))k(N(cD(x))))
h(ksin,sin)h(kcos,cos)h(klog,log)h(kexp,exp)h(sqr,__builtin_sqrt)
diff --git a/2.c b/2.c
index 091ab79c..f91eeeb7 100644
--- a/2.c
+++ b/2.c
@@ -1,5 +1,5 @@
#include"a.h" // ngn/k, (c) 2019-2022 ngn, GNU AGPLv3 - https://codeberg.org/ngn/k/raw/branch/master/LICENSE
-//{dex add sub mul dvd mod mnm mxm ltn gtn eql}x{o0123fspa}x{BHILD} = {:+-*%!&|<>=}x{op a+a a+l l+a l+l f/ f\ f': @}x{byte short int long double}
+//{0dex 1add 2sub 3mul 4dvd 5mod 6mnm 7mxm 8ltn 9gtn 10eql}x{o0123fspa}x{BHILD} = {:+-*%!&|<>=}x{op a+a a+l l+a l+l f/ f\ f': @}x{byte short int long double}
#define hv(v,T,R,f) S R v##o##T(T x,T y)_(f)
#define hc(v,f,g) hv(v,B,B,f)hv(v,H,B,f)hv(v,I,B,f)hv(v,L,B,f)hv(v,D,B,g)
#define h(v,f) hv(v,B,B,f)hv(v,H,H,f)hv(v,I,I,f)hv(v,L,L,f)hv(v,D,D,f)
@@ -19,65 +19,67 @@ h0123(ltn,B,B)h0123(ltn,H,B)h0123(ltn,I,B)h0123(ltn,L,B)h0123(ltn,D,B) h01S3(eql
#define hi(i) {hiT(i,B)hiT(i,H)hiT(i,I)hiT(i,L)hiT(i,D)},
TY(&eql0B)aro[][5][5]={hi(0)hi(1)hi(2)hi(3)};
S C tZx(Ax)_(Ct=TX[xt];P(t,t)Xl(tZ(gl_(x)))tZ(xv))C sup(A*p,A*q)_(Ax=*p,y=*q;Ct=max(tZx(x),tZx(y));*p=x=Ny(cT[t](x));*q=y=Nx(cT[t](y));t)
-S A3(ar2,Q(ztv)XYmMA(e2f(x,y,v2[zv]))N(sup(&x,&y));Ik=xtT<<1|ytT;P(k==3&&xn-yn,el2(x,y))Ct=k?min(xt,yt):max(xt,yt);V*a=xtP?(V*)&x:xV,*b=ytP?(V*)&y:yV;t=TT[t];V(f,aro[k][t-tB][zv-6]);I(z>MXM,t=tB)
+S A ar2(Ii,Ax,Ay/*01*/)_(XYmMA(e2f(v2[i],x,y))
+ xR;N(sup(&x,&y));Ik=xtT<<1|ytT;P(k==3&&xn-yn,el2(x,y))Ct=k?min(xt,yt):max(xt,yt);V*a=xtP?(V*)&x:xV,*b=ytP?(V*)&y:yV;t=TT[t];V(f,aro[k][t-tB][i-6]);I(i>7,t=tB)
I(!k,t=max(ti,t+tc-tC);P(TP(t),Ii=0;f(a,b,&i,1);x(y(az(i)))))Az=xt==t&&xr==1?x:yt==t&&yr==1?y:an(t,k-1?xn:yn);f(a,b,zV,zn);x-z?x(y-z?y(z):z):y(z))
-S ALA(ext,XMT(x)rsh(n,xtm?enl(x):x))A2(dct,P(rnk(x)<0,ed2(x,y))x=ext(yN,x);y=ext(xN,y);(xN-yN?el2:am)(x,y))A2(dex,mr(x);y)A2(add,adm(x,y,0))A2(sub,add(x,Nx(neg(y))))A2(mul,adm(x,y,1))
-A2(dvd,XYmMA(e2f(x,y,dvd))x=Ny(cD(x));y=Nx(cD(y));Xd(Dv=gd(x);Yd(ad(v/gd(y)))Az=yr==1?y:aD(yn);i(yn,zd=v/yd)y-z?y(z):z)Yd(Dv=gd(y);Az=xr==1?x:aD(xn);i(xn,zd=xd/v)y-z?y(z):z)
+S ALA(ext/*n1*/,XMT(x)rsh(n,xtm?enl(x):x))A2(dct,/*01*/P(rnk(x)<0,ed1(y))x=ext(yN,xR);y=ext(xN,y);(xN-yN?el2:am)(x,y))
+A2(dex,y)A2(add,adm(x,y,0))A2(sub,add(x,N(neg(y))))A2(mul,adm(x,y,1))
+A2(dvd,XYmMA(e2f(dvd,x,y))x=Ny(cD(xR));y=Nx(cD(y));Xd(Dv=gd(x);Yd(ad(v/gd(y)))Az=yr==1?y:aD(yn);i(yn,zd=v/yd)y-z?y(z):z)Yd(Dv=gd(y);Az=xr==1?x:aD(xn);i(xn,zd=xd/v)y-z?y(z):z)
P(xn-yn,el2(x,y))Az=xr==1?x:yr==1?y:aD(xn);i(xn,zd=xd/yd)x==z?y(z):y==z?x(z):x(y(z)))
-A2(mod,YmMA(e2f(x,y,mod))YdD(Ln=gl_(x);P(!n,y)P(n<0,ar2(x,Nx(csti(y)),MOD))K("{y-x*(-x)!`i$y}",x,y))Yzc(fir(N(mod(x,enl(y)))))YC(mod(x,cB(y)))
- YZ(Lm=gl(x);P(!m,y)P(m<0,m=-m;Az=an(yt,yn);S4(yw,i(zn,Cv=yb;zb=v<0?-1-~v/m:v/m),i(zn,Hv=yh;zh=v<0?-1-~v/m:v/m),i(zn,Iv=yi;zi=v<0?-1-~v/m:v/m),i(zn,Lv=yl;zl=v<0?-1-~v/m:v/m))y(z))
+A2(mod,YmMA(e2f(mod,x,y))YdD(Ln=gl_(x);P(!n,y)P(n<0,ar2(5,x,N(csti(y))))K("{y-x*(-x)!`i$y}",xR,y))Yzc(fir(N(mod(x,enl(y)))))YC(mod(x,cB(y)))
+ YZ(Lm=gl_(x);P(!m,y)P(m<0,m=-m;Az=an(yt,yn);S4(yw,i(zn,Cv=yb;zb=v<0?-1-~v/m:v/m),i(zn,Hv=yh;zh=v<0?-1-~v/m:v/m),i(zn,Iv=yi;zi=v<0?-1-~v/m:v/m),i(zn,Lv=yl;zl=v<0?-1-~v/m:v/m))y(z))
P(m&m-1,Az=an(tZ(m),yn);I wy=yw;S4(zw,i(zn,zb=(iw(y,wy,i)%m+m)%m),i(zn,zh=(iw(y,wy,i)%m+m)%m),i(zn,zi=(iw(y,wy,i)%m+m)%m),i(zn,zl=(iw(y,wy,i)%m+m)%m))y(z))
- m--;I t=tZ(m),w=t-tB;y=mut(N(cT[t](y)));i(3-w,m|=m<<(8<<w+i))L*p=yV;i((yn<<w)+31>>5,j(4,*p++&=m))y)ed2(x,y))
-A2(bng,Xzc(mod(x,y))dct(x,y))A2(mnm,ar2(x,y,MNM))A2(mxm,ar2(x,y,MXM))A2(ltn,P((1<<xt|1<<yt)&(1<<tm|1<<tM|1<<tA|1<<tS),e2f(x,y,ltn))P(xts&&yts,ai(qA(x,y)<0))ar2(x,y,LTN))A2(gtn,ltn(y,x))
-A2(eql,XYmMA(e2f(x,y,eql))P(xtsS-ytsS,et2(x,y))P(xtsS,eql(AT(xt+ti-ts,mut(x)),AT(yt+ti-ts,mut(y))))ar2(x,y,EQL))
+ m--;I t=tZ(m),w=t-tB;y=mut(N(cT[t](y)));i(3-w,m|=m<<(8<<w+i))L*p=yV;i((yn<<w)+31>>5,j(4,*p++&=m))y)ed1(y))
+A2(bng,Xzc(mod(x,y))dct(x,y))A2(mnm,ar2(6,x,y))A2(mxm,ar2(7,x,y))A2(ltn,P((1<<xt|1<<yt)&(1<<tm|1<<tM|1<<tA|1<<tS),e2f(ltn,x,y))P(xts&&yts,ai(qA(x,y)<0))ar2(8,x,y))
+A2(gtn,y(ltn(y,xR)))A2(eql,XYmMA(e2f(eql,x,y))P(xtsS-ytsS,et1(y))P(xtsS,x=AT(xt+ti-ts,mut(xR));x(eql(x,AT(yt+ti-ts,mut(y)))))ar2(10,x,y))
#define i4(w,n,a,b,c,d) S4(w,i(n,a),i(n,b),i(n,c),i(n,d))
#define MIN(x,y) (x)=min(x,y)
#define MAX(x,y) (x)=max(x,y)
SN A1(inv,x=mut(x);Nn=xn*xW;i(PD(n,xC),xc^=-1)x)
-S A3(___f,Nn=yn,i=!x;I(i,x=ii(y,0))W(i<n,x=z2(x,ii(y,i++));B(!x))y(x))S A3 dexs;
-S A3(dexf,las(dexs(x,y,z)))
+S A3(___f,/*001*/I(y,yR)Nn=zn,i=!y;I(i,y=ii(z,0))W(i<n,y=y(x2(y,ii(z,i++)));B(!y))z(y))
+S A3(dexf,/*001*/las(z))
S L mmmfZ(Lv,Ax/*0*/,Ii)_(Q(xtZDC)L l=-1ll<<8*xW-1,h=~l;Nn=xn;P((i?v>=h:v<=l)||!n,v)v=v<l?l:v>h?h:v;I(i,i4(xw,n,MAX(v,xb),MAX(v,xh),MAX(v,xi),MAX(v,xl)))E(i4(xw,n,MIN(v,xb),MIN(v,xh),MIN(v,xi),MIN(v,xl)))v)
-S A3(mmmf,Ii=zv==7;P((x&&xtd)||ytD,Lv=ofpd1(x?gd(cD(x)):i?-WD:WD);y=cD(y);ad(ye(OFP1(y);L r=mmmfZ(v,y,i);OFP0(y);ofpd0(r))))Lv=x?gl(x):i?-WL:WL;az(ye(mmmfZ(v,y,i))))
-S A3(admf,Ii=zv==3;Nn=yn;P((x&&xtd)||ytD,Dv=x?gd(cD(x)):i;y=cD(y);ad(ye(I(i,i(n,v*=yd))E(i(n,v+=yd))v)))Lv=x?gl(x):i;az(ye(I(i,i4(yw,n,v*=yb,v*=yh,v*=yi,v*=yl))E(i4(yw,n,v+=yb,v+=yh,v+=yi,v+=yl))v)))
-S A3(subf,neg(admf(x?neg(x):yn?mul(ai(-2),ii(y,0)):0,y,ADD)))
-A3(arf,Q(ztv)Q(zv<11)Q(!x||xtzdc)Q(ytZDC)T(&dexf,admf,subf,admf,___f,___f,mmmf,mmmf,___f,___f,___f)[zv](x,y,z))
+S A3(mmmf,/*001*/Ii=xv==7;P((y&&ytd)||ztD,Lv=ofpd1(y?gd(cD(yR)):i?-WD:WD);z=cD(z);ad(ze(OFP1(z);L r=mmmfZ(v,z,i);OFP0(z);ofpd0(r))))Lv=y?gl_(y):i?-WL:WL;az(ze(mmmfZ(v,z,i))))
+S A3(admf,/*001*/Ii=xv==3;Nn=zn;P((y&&ytd)||ztD,Dv=y?gd(cD(yR)):i;z=cD(z);ad(ze(I(i,i(n,v*=zd))E(i(n,v+=zd))v)))Lv=y?gl_(y):i;az(ze(I(i,i4(zw,n,v*=zb,v*=zh,v*=zi,v*=zl))E(i4(zw,n,v+=zb,v+=zh,v+=zi,v+=zl))v)))
+S A3(subf,/*001*/y=y?neg(yR):zn?mul(ai(-2),ii(z,0)):ai(0);y(neg(admf(ADD,y,z))))
+A3(arf,/*001*/Q(xtv)Q(xv<11)Q(!y||ytzdc)Q(ztZDC)T(&dexf,admf,subf,admf,___f,___f,mmmf,mmmf,___f,___f,___f)[xv](x,y,z))
-S A3(___s,Ni=!x;Au=i?x=ii(y,0),enl(xR):oA;Nn=yn;W(i<n,x=z2(x,ii(y,i++));P(!x,y(u))uq(xR))x(y(u)))
-S A3(dexs,x?x(y):y)
-S A3(adds,L w=x?gl(x):0;Nn=yn;W(1,I b=1;Lv=w;Ct=tB+yw;Au=an(t,n);i4(yw,n,ub=v+=yb;B(v-(B)v,b=0),uh=v+=yh;B(v-(H)v,b=0),ui=v+=yi;B(v-(I)v,b=0),ul=v+=yl)P(b,y(u))y=cT[t+1](u(y)))0)
-S A3(muls,L w=x?gl(x):1;Nn=yn;
- W(1,I b=1;Lv=w;Ct=yt;Au=an(t,n);I(t==tL,i(n,ul=v*=yl))J(t==tI,i(n,ui=v*=yi;B(v-(I)v,b=0)))J(t==tH,i(n,uh=v*=yh;B(v-(H)v,b=0)))J(t==tB,i(n,ub=v*=yb;B(v-(B)v,b=0)))E(Q(0))P(b,y(u))y=cT[t+1](u(y)))0)
-S A3(subs,neg(adds(neg(x?x:mul(ai(2),ii(y,0))),y,0)))
-S A3(mxms,P((!x||xtz)&&ytZ,Lv=x?gl(x):-WL,l=-1ll<<8*yW-1,h=~l;Nn=yn;I(v<=l||h<=v,P(v>=0,y(rsh(n,az(v))))v=v<0?l:h)
- Au=yr-1?an(yt,n):y;i4(yw,n,ub=MAX(v,yb),uh=MAX(v,yh),ui=MAX(v,yi),ul=MAX(v,yl))y-u?y(u):u)___s(x,y,z))
-S A3(mnms,P((!x||xtz)&&ytZ,inv(mxms(x?az(~gl(x)):0,inv(y),MXM)))___s(x,y,z))
-S A3(eqls,Lv=x?gl(x):~*yL;Au=ytB&&yr==1?y:aB(yn);i4(yw,yn,ub=v=v==yb,ub=v=v==yh,ub=v=v==yi,ub=v=v==yl)y-u?y(u):u)
-A3(ars,Q(ztv)Q(zv<11)Q(!x||xtzc)Q(ytZC)T(&dexs,adds,subs,muls,___s,___s,mnms,mxms,___s,___s,eqls)[zv](x,y,z))
+S A3(___s,/*011*/Ni=!y;Au=i?y=ii(z,0),enl(yR):(yR,oA);Nn=zn;W(i<n,y=y(x2(y,ii(z,i++)));P(!y,z(u))uq(yR))y(z(u)))
+S A3(dexs,/*011*/y?y(z):z)
+S A3(adds,/*011*/L w=y?gl(y):0;Nn=zn;W(1,I b=1;Lv=w;Ct=tB+zw;Au=an(t,n);i4(zw,n,ub=v+=zb;B(v-(B)v,b=0),uh=v+=zh;B(v-(H)v,b=0),ui=v+=zi;B(v-(I)v,b=0),ul=v+=zl)P(b,z(u))z=cT[t+1](u(z)))0)
+S A3(muls,/*011*/L w=y?gl(y):1;Nn=zn;
+ W(1,I b=1;Lv=w;Ct=zt;Au=an(t,n);I(t==tL,i(n,ul=v*=zl))J(t==tI,i(n,ui=v*=zi;B(v-(I)v,b=0)))J(t==tH,i(n,uh=v*=zh;B(v-(H)v,b=0)))J(t==tB,i(n,ub=v*=zb;B(v-(B)v,b=0)))E(Q(0))P(b,z(u))z=cT[t+1](u(z)))0)
+S A3(subs,/*011*/neg(adds(0,neg(y?y:mul(ai(2),ii(z,0))),z)))
+S A3(mxms,/*011*/P((!y||ytz)&&ztZ,Lv=y?gl(y):-WL,l=-1ll<<8*zW-1,h=~l;Nn=zn;I(v<=l||h<=v,P(v>=0,z(rsh(n,az(v))))v=v<0?l:h)
+ Au=zr-1?an(zt,n):z;i4(zw,n,ub=MAX(v,zb),uh=MAX(v,zh),ui=MAX(v,zi),ul=MAX(v,zl))z-u?z(u):u)___s(x,y,z))
+S A3(mnms,/*011*/P((!y||ytz)&&ztZ,inv(mxms(MXM,y?az(~gl(y)):0,inv(z))))___s(x,y,z))
+S A3(eqls,/*011*/Lv=y?gl(y):~*zL;Au=ztB&&zr==1?z:aB(zn);i4(zw,zn,ub=v=v==zb,ub=v=v==zh,ub=v=v==zi,ub=v=v==zl)z-u?z(u):u)
+A3(ars,/*001*/Q(xtv)Q(xv<11)Q(!y||ytzc)Q(ztZC)I(y,yR)T(&dexs,adds,subs,muls,___s,___s,mnms,mxms,___s,___s,eqls)[xv](x,y,z))
-S A3(dexp,cat(x,drp(-1,y)))
-S A3(___p,v2[zv](y,dexp(x,yR,av)))
-S A3(modp,e2f(y,dexp(x,yR,av),mod))
-S A3(mxmp,YC(mxmp(x,cB(y),z))I w=yw;Lv=gl(x),l=-1ll<<(8<<w)-1,h=~l;MAX(v,l);Nn=yn;P(v>=h,rsh(n,y(az(v))))x=ax(y);S4(w,yB[-1]=v,yH[-1]=v,yI[-1]=v,yL[-1]=v)
- Nj=n-1;i4(w,n,xB[j]=max(yB[j],yB[j-1]);j--,xH[j]=max(yH[j],yH[j-1]);j--,xI[j]=max(yI[j],yI[j-1]);j--,xL[j]=max(yL[j],yL[j-1]);j--)yn=n;x)
-S A3(mnmp,inv(mxmp(az(~gl(x)),inv(y),MXM)))
-S A3(cmpp,I o=z-LTN,w=yw;Nn=yn;Au=aB(n);Lv=gl(x),p=iw(y,w,0);*uB=!o?p<v:o==1?p>v:p==v;Lm=n-1;Lj=m;
- S4(o,i4(w,m,uB[j]=yB[j]< yB[j-1];j--,uB[j]=yH[j]< yH[j-1];j--,uB[j]=yI[j]< yI[j-1];j--,uB[j]=yL[j]< yL[j-1];j--),
- i4(w,m,uB[j]=yB[j]> yB[j-1];j--,uB[j]=yH[j]> yH[j-1];j--,uB[j]=yI[j]> yI[j-1];j--,uB[j]=yL[j]> yL[j-1];j--),
- i4(w,m,uB[j]=yB[j]==yB[j-1];j--,uB[j]=yH[j]==yH[j-1];j--,uB[j]=yI[j]==yI[j-1];j--,uB[j]=yL[j]==yL[j-1];j--),)y(u))
-A3(arp,Q(ztv)Q(zv<11)Q(xtzc)Q(ytZC)T(&dexp,___p,___p,___p,___p,modp,mnmp,mxmp,cmpp,cmpp,cmpp)[zv](x,y,z))
+S A3(dexp,/*011*/cat11(y,drp(-1,z)))
+S A3(___p,/*011*/z(v2[xv](z,dexp(av,y,zR))))
+S A3(modp,/*011*/z(e2f(mod,z,dexp(av,y,zR))))
+S A3(mxmp,/*011*/ZC(mxmp(z,y,cB(z)))I w=zw;Lv=gl(y),l=-1ll<<(8<<w)-1,h=~l;MAX(v,l);Nn=zn;P(v>=h,rsh(n,z(az(v))))y=zr>1?zr--,an(zt,zn):z;S4(w,zB[-1]=v,zH[-1]=v,zI[-1]=v,zL[-1]=v)Nj=n-1;
+ i4(w,n,yB[j]=max(zB[j],zB[j-1]);j--,yH[j]=max(zH[j],zH[j-1]);j--,yI[j]=max(zI[j],zI[j-1]);j--,yL[j]=max(zL[j],zL[j-1]);j--)zn=n;y)
+S A3(mnmp,/*011*/inv(mxmp(MXM,az(~gl(y)),inv(z))))
+S A3(cmpp,/*011*/ I o=x-LTN,w=zw;Nn=zn;Au=aB(n);Lv=gl(y),p=iw(z,w,0);*uB=!o?p<v:o==1?p>v:p==v;Lm=n-1;Lj=m;
+ S4(o,i4(w,m,uB[j]=zB[j]< zB[j-1];j--,uB[j]=zH[j]< zH[j-1];j--,uB[j]=zI[j]< zI[j-1];j--,uB[j]=zL[j]< zL[j-1];j--),
+ i4(w,m,uB[j]=zB[j]> zB[j-1];j--,uB[j]=zH[j]> zH[j-1];j--,uB[j]=zI[j]> zI[j-1];j--,uB[j]=zL[j]> zL[j-1];j--),
+ i4(w,m,uB[j]=zB[j]==zB[j-1];j--,uB[j]=zH[j]==zH[j-1];j--,uB[j]=zI[j]==zI[j-1];j--,uB[j]=zL[j]==zL[j-1];j--),)z(u))
+A3(arp,/*001*/Q(xtv)Q(xv<11)Q(ytzc)Q(ztZC)T(&dexp,___p,___p,___p,___p,modp,mnmp,mxmp,cmpp,cmpp,cmpp)[xv](x,yR,z))
-S A4(dexa,/*1101*/Ny(sup(&x,&u));x=mut(x);Nn=yn;I wx=xw,wy=yw,wu=utt?-1:uw;Lv=wu<0?gl_(u):0;
- ye(ue(I(utt,i4(wx,n,xB[iw(y,wy,i)]=v ,xH[iw(y,wy,i)]=v ,xI[iw(y,wy,i)]=v ,xL[iw(y,wy,i)]=v ))
- E( i4(wx,n,xB[iw(y,wy,i)]=ub,xH[iw(y,wy,i)]=uh,xI[iw(y,wy,i)]=ui,xL[iw(y,wy,i)]=ul))x)))
-S A4(adma,/*1101*/x=cL(x);u=cL(u);x=mut(x);I(!ytL,y=cI(y))Nn=yn;
+S A4(dexa,/*1000*/uR;Ny(sup(&x,&u));x=mut(x);Nn=yn;I wx=xw,wy=yw,wu=utt?-1:uw;Lv=wu<0?gl_(u):0;
+ ue(I(utt,i4(wx,n,xB[iw(y,wy,i)]=v ,xH[iw(y,wy,i)]=v ,xI[iw(y,wy,i)]=v ,xL[iw(y,wy,i)]=v ))
+ E( i4(wx,n,xB[iw(y,wy,i)]=ub,xH[iw(y,wy,i)]=uh,xI[iw(y,wy,i)]=ui,xL[iw(y,wy,i)]=ul))x))
+S A4(adma,/*1000*/yR;uR;x=cL(x);u=cL(u);x=mut(x);I(!ytL,y=cI(y))Nn=yn;
I(utt,Lv=gl(u);ye(I(zv==1,I(ytL,i(n,xL[yl]+=v ))E(i(n,xL[yi]+=v )))E(I(ytL,i(n,xL[yl]*=v ))E(i(n,xL[yi]*=v )))0))
E(ue( ye(I(zv==1,I(ytL,i(n,xL[yl]+=ul))E(i(n,xL[yi]+=ul)))E(I(ytL,i(n,xL[yl]*=ul))E(i(n,xL[yi]*=ul)))0)))x)
-S A4(mmma,/*1101*/I d=utT;I(!d,u=enl(u))Ny(sup(&x,&u));x=mut(x);I(!ytL,y=cI(y))Nn=yn;
+S A4(mmma,/*1000*/yR;uR;I d=utT;I(!d,u=enl(u))Ny(sup(&x,&u));x=mut(x);I(!ytL,y=cI(y))Nn=yn;
ye(ue(I(zv==6,I(ytL,i4(xw,n,MIN(xB[yl],uB[d*i]),MIN(xH[yl],uH[d*i]),MIN(xI[yl],uI[d*i]),MIN(xL[yl],uL[d*i])))
E( i4(xw,n,MIN(xB[yi],uB[d*i]),MIN(xH[yi],uH[d*i]),MIN(xI[yi],uI[d*i]),MIN(xL[yi],uL[d*i]))))
E( I(ytL,i4(xw,n,MAX(xB[yl],uB[d*i]),MAX(xH[yl],uH[d*i]),MAX(xI[yl],uI[d*i]),MAX(xL[yl],uL[d*i])))
E( i4(xw,n,MAX(xB[yi],uB[d*i]),MAX(xH[yi],uH[d*i]),MAX(xI[yi],uI[d*i]),MAX(xL[yi],uL[d*i]))))x)))
-S A4(suba,adma(x,y,ADD,neg(u)))
-A4(ara,/*1101*/Q(xtZC)Q(ytZC)Q(ztv)Q(0xcf&1<<zv)Q(utzZ||utcC)P(utT&&yn-un,el2(x(y),u))P(!ina(y,xn),ei2(x(y),u))T(&dexa,adma,suba,adma,0,0,mmma,mmma)[zv](x,y,z,u))
+S A4(suba,/*1000*/u(adma(x,y,ADD,neg(uR))))
+A4(ara,/*1000*/Q(xtZC)Q(ytZC)Q(ztv)Q(0xcf&1<<zv)Q(utzZ||utcC)P(utT&&yn-un,el1(x))P(!ina(y,xn),ei1(x))T(&dexa,adma,suba,adma,0,0,mmma,mmma)[zv](x,y,z,u))
diff --git a/3.c b/3.c
index 6b9088a0..fd7e672f 100644
--- a/3.c
+++ b/3.c
@@ -11,18 +11,16 @@
#define ho(t,T) hA(a##t##T,T,0,GZ(T))hA(a##T##T,T,1,GZ(T))hM(m##t##T,T,0,GZ(T))hM(m##T##T,T,1,GZ(T))
#define hn(t,T) hN(a##t##T,T,0,+)hN(a##T##T,T,1,+)hN(m##t##T,T,0,*)hN(m##T##T,T,1,*)
ho(b,B)ho(h,H)ho(i,I)hn(l,L)hn(d,D)
-S C tZx(Ax)_(Xz(tZ(gl_(x)))Xd(tD)XZD(xt)tn)
-A adm(Ax,Ay,Iv)_(
+S C tZx(Ax/*0*/)_(Xz(tZ(gl_(x)))Xd(tD)XZD(xt)tn)
+A adm(Ax,Ay,Iv/*01v*/)_(
P(xti&&yti,Lm=xv,n=yv;az(v?m*n:m+n))
- P(xtz&&ytz,Lm=gl(x),n=gl(y);az(v?m*n:m+n))
- XYmMA(e2f(x,y,v?mul:add))
- XcC(adm(cB(x),y,v))
+ P(xtz&&ytz,Lm=gl_(x),n=gl(y);az(v?m*n:m+n))
+ XYmMA(e2f(v?mul:add,x,y))
YcC(adm(x,cB(y),v))
- P(xtdD-ytdD,adm(Ny(cD(x)),Nx(cD(y)),v))
- Ct=max(tZx(x),tZx(y));P(t==tn,et2(x,y))
- x=Ny(cT[t](x));
- y=Nx(cT[t](y));
- Ik=2*xtT+ytT;
+ XcC(y(adm(y,cB(xR),v)))
+ P(xtdD-ytdD,x=Ny(cD(xR));y=Nx(cD(y));x(adm(x,y,v)))
+ Ct=max(tZx(x),tZx(y));P(t==tn,et1(y))
+ xR;x=Ny(cT[t](x));y=Nx(cT[t](y));Ik=2*xtT+ytT;
P(!k,Xd(ad(v?gd(x)*gd(y):gd(x)+gd(y)))az(v?gl(x)*gl(y):gl(x)+gl(y)))
I(k==2||(k==3&&xr==1),SWP(x,y))
S O TY(&abB)f[][2][5]={{{abB,ahH,aiI,alL,adD},{aBB,aHH,aII,aLL,aDD}},{{mbB,mhH,miI,mlL,mdD},{mBB,mHH,mII,mLL,mDD}}};
diff --git a/a.c b/a.c
index 47af1834..109954b6 100644
--- a/a.c
+++ b/a.c
@@ -1,6 +1,6 @@
#include"a.h"// ngn/k, (c) 2019-2022 ngn, GNU AGPLv3 - https://codeberg.org/ngn/k/raw/branch/master/LICENSE
-S A1(sam,x)V_;T_;S A1(mkn,XmMA(e1f(x,mkn))Ay=_R(cn[xt]);Xt(x(y))rsh(xN,x(y)))I _K(Ax/*0*/)_(xtu||xtw?1:xtv?2:xte?x>>48&7:xtF?xk:0)//_K:arity
-A2(id_,/*00*/x==CAT?_R(ce[ce[yt]?yt:tA]):xtv&&xv<11&&xv?_R(ci[ytdD][T((C)4,0,0,1,1,2,2,3,3,2,4)[xv]]):mkn(fir(yR)))
+S A1(sam,x)V_;T_;S A1(mkn,XmMA(e1f(mkn,x))Ay=_R(cn[xt]);Xt(x(y))rsh(xN,x(y)))I _K(Ax/*0*/)_(xtu||xtw?1:xtv?2:xte?x>>48&7:xtF?xk:0)//_K:arity
+A2(ide,/*00*/x==CAT?_R(ce[ce[yt]?yt:tA]):xtv&&xv<11&&xv?_R(ci[ytdD][T((C)4,0,0,1,1,2,2,3,3,2,4)[xv]]):mkn(fir(yR)))
AX(prj,XmMA(x8(a,n))Ik=max(n,xK);i(n,k-=a[i]!=PLH)x=(xtp?val:aA1)(xR);Ii=0,j=1;W(i<n&&j<xn,I(xA[j]==PLH,xA[j]=a[i++])j++)W(i<n,xq(a[i++]))P(xn>9,ez1(x))AT(tp,AK(k,x)))
S A iM(Ax,Li,AAL*f)_(Q(xtM);Ay=xy,z=aA(yn);Q(ytA);j(zn,zA[j]=f(yA[j],i))am(_R(xx),sqz(z)))
AAL(ii,/*0*/XA(_R(xa))XC(ac(xc))XB(ai(xb))XH(ai(xh))XI(ai(xi))XL(al(xl))XD(ad(xd))XS(as(xi))Xm(ii(xy,i))XM(iM(x,i,ii))xR)
@@ -13,35 +13,43 @@ S AAL(io,/*0*/P(xtt||in(i,xN),ii(x,i))P(xN,mkn(ii(x,0)))Xm(io(xy,i))XM(iM(x,i,io
#define j_(T,U)iF(j##T##U,T,U,L,i(n,r[i]=in(q[i],m)?p[q[i]]:NL))
#define i_(T,U)iF(i##T##U,T,U,T,UI g=G(T,U);U k[g];i(n/g,j(g,k[j]=q[j])U o=0;j(g,o|=!in(k[j],m))P(o,i*g)j(g,r[j]=p[k[j]])q+=g;r+=g)L l=n/g*g;j(n-l,P(!in(q[j],m),l))j(n-l,r[j]=p[q[j]]))
iC_(I)iC_(L)i_(B,I)j_(B,I)i_(B,L)j_(B,L)i_(H,I)j_(H,I)i_(H,L)j_(H,L)i_(I,I)j_(I,I)i_(I,L)j_(I,L)j_(L,I)j_(L,L)iD_(I)iD_(L)iS_(I)iS_(L)
-S A2(i1,/*01*/Xt(y(xR))P(y==PLH||y==au,xR)P(xtm||xtM&&ytsS,i1(xy,N(fnd(_R(xx),y))))Yzc(io(x,gl(y)))Yt(et1(y))YmM(Az=kv(&y);am(y,Ny(i1(x,z))))YA(r2(xR,y,AP1))
+A2(i1,/*01*/Xt(y(xR))P(y==PLH||y==au,xR)P(xtm||xtM&&ytsS,i1(xy,N(fnd(xx,y))))Yzc(io(x,gl(y)))Yt(et1(y))YmM(Az=kv(&y);am(y,Ny(i1(x,z))))YA(r2(AP1,x,y))
I(!ytL&&!ytI,y=N(cI(y)))Nn=yn;P(xtA||xtM,Az=oA;I(ytL,i(n,zq(io(x,yl))))E(i(n,zq(io(x,yi))))y(z))Az=xtL&&ytL&&yr==1?y:an(xt,n);
Lm=T(&iBI,iHI,iII,jLI,iDI,iCI,iSI,iBL,iHL,iIL,jLL,iDL,iCL,iSL)[xt-tB+7*ytL](xV,xn,yV,zV,n);I(m<n,z=z(aL(n));T(&jBI,jHI,jII,jBL,jHL,jIL)[xt-tB+3*ytL](xV,xn,yV,zV,n))y-z?y(z):z)
-S A3(i2,/*011*/Cb=ytT||y==PLH||y==au;x=Nz(i1(x,y));P(!b,x(x1(z)))K(".\\:",x,aA1(z)))
-S AX(i8,Ay=*a;P(n==1,i1(x,y))P(n==2,i2(x,y,a[1]))a++;n--;Cb=ytT||y==PLH||y==au;x=i1(x,y);P(!n,x)P(!x,mrn(n,a);x)P(!b,x(i8(x,a,n)))K(".\\:",x,aV(tA,n,a)))
-L iw(Ax/*0*/,I w,Li)_(S4(w,_(xb),_(xh),_(xi),_(xl))0)I ina(Ax/*0*/,Nn)_(S4(xw,P(n-(B)n,1)i(xn,P(!in(xb,n),0)),P(n-(H)n,1)i(xn,P(!in(xh,n),0)),P(n-(I)n,1)i(xn,P(!in(xi,n),0)),i(xn,P(!in(xl,n),0)))1)
-S A1(qa,Ay=oA;Q*p=argv;W(*p,yq(aCz(*p++)))ap1(y,x))S A1(qe,Ay=oS,z=oA;Q*e=env;W(*e,Qp=*e++,q=p+si(p,'=');yq(cS(aCm(p,q)));zq(aCz(q+!!*q)))y=am(y,z);x-au?ap1(y,x):y)
-S A1(qx,exit(xtz?gl(x):1);0)S A1(qj,XC(Cb[PG];In=js_eval(xC,xn,b,SZ b);x(0);aCn(b,n))XA(e1f(x,qj))et1(x))S A1(qp,XC(x=str0(x);x(pk(xV)))et1(x))S A1(qr,x(ai(xr)))S A1(qt,x(al(now())))
+S A3(i2,/*001*/Cb=ytT||y==PLH||y==au;x=Nz(i1(x,yR));P(!b,x(x1(z)))x(l2f(dot,x,aA1(z))))
+S AX(i8,Ay=*a;P(n==1,i1(x,y))P(n==2,y(i2(x,y,a[1])))a++;n--;Cb=ytT||y==PLH||y==au;x=i1(x,y);P(!n,x)P(!x,mrn(n,a);x)P(!b,x(i8(x,a,n)))K(".\\:",x,aV(tA,n,a)))
+L iw(Ax/*0*/,I w,Li)_(S4(w,_(xb),_(xh),_(xi),_(xl))0)
+I ina(Ax/*0*/,Nn)_(S4(xw,P(n-(B)n,1)i(xn,P(!in(xb,n),0)),P(n-(H)n,1)i(xn,P(!in(xh,n),0)),P(n-(I)n,1)i(xn,P(!in(xi,n),0)),i(xn,P(!in(xl,n),0)))1)
+S A1(qa,Ay=oA;Q*p=argv;W(*p,yq(aCz(*p++)))y(y1(x)))S A1(qe,Ay=oS,z=oA;Q*e=env;W(*e,Qp=*e++,q=p+si(p,'=');yq(cS(aCm(p,q)));zq(aCz(q+!!*q)))y=am(y,z);x-au?x(x1(y)):y)
+S A1(qx,exit(xtz?gl(x):1);0)S A1(qj,XC(Cb[PG];In=js_eval(xC,xn,b,SZ b);x(0);aCn(b,n))XA(e1f(qj,x))et1(x))S A1(qp,XC(x=str0(x);x(pk(xV)))et1(x))S A1(qr,x(ai(xr)))S A1(qt,x(al(now())))
A2(_1,/*01*/P(!xtt,i1(x,y))S O C s[][4]={"","k","j","p","t","x","hex","err","argv","env","exit","js","prng","sin","cos","exp","ln","r","pri"};
Xs(Li=fI(s,LEN(s),xv);T(&ser,kst,js1,qp,qt,frk,hex,err,qa,qe,qx,qj,prng,ksin,kcos,kexp,klog,qr,qpri,ed1)[i<0?LEN(s):i](y))
Ik=xK;P(1<k,k==2&&!xtp?prj(x,A(y,PLH),2):prj(x,&y,1))Xo(run(x,&y,1))Xr(adv(x,&y,1))Xe(((A1*)(x<<16>>16))(y))
Xp(P(xn+k>9,er1(y))Im=xn-1,j=0;Ab8;i(m,b[i]=xA[i+1]==PLH&&!j?j++,y:_R(xA[i+1]))I l=max(0,1-j);Mc(b+m,&y,8*l);_8(xx,b,m+l))
Xq(_1(xx,N(_1(xy,y))))P(1>k,er1(y))Xu(v1[xv](y))Xw(AK(0<xv&&xv<4&&yK==2?1:ytF?yK:1,AW(xv,aV(tr,1,&y))))et1(y))
-A3(_2,/*011*/P(!xtt,i2(x,y,z))A a[]={y,z};Ik=xK;P(2<k,prj(x,a,2))Xo(run(x,a,2))Xv(v2[xv](y,z))Xr(adv(x,a,2))Xw(xv?en2(x,y):AK(zK,AT(tq,aA2(y,z))))
- Xp(P(xn+k>9,er2(y,z))Im=xn-1,j=0;Ab8;i(m,b[i]=xA[i+1]==PLH&&j<2?a[j++]:_R(xA[i+1]))I l=max(0,2-j);Mc(b+m,a+j,8*l);_8(xx,b,m+l))Xq(_1(xx,N(_2(xy,y,z))))P(2>k,er2(y,z))Xe(((A2*)(x<<16>>16))(y,z))et2(y,z))
-AX(_8,Q(n)P(n==1,x1(*a))P(n==2,x2(*a,a[1]))P(!xtt,i8(x,a,n))Ik=xK;P(n<k,prj(x,a,n))Xo(run(x,a,n))Xv(v8[xv](a,n))Xr(adv(x,a,n))Xq(_1(xx,N(_8(xy,a,n))))
+A3(_2,/*001*/yR;P(!xtt,y(i2(x,y,z)))A a[]={y,z};Ik=xK;P(2<k,prj(x,a,2))Xo(run(x,a,2))Xv(y(v2[xv](y,z)))Xr(adv(x,a,2))Xw(xv?en2(x,y):AK(zK,AT(tq,aA2(y,z))))
+ Xp(P(xn+k>9,er2(y,z))Im=xn-1,j=0;Ab8;i(m,b[i]=xA[i+1]==PLH&&j<2?a[j++]:_R(xA[i+1]))I l=max(0,2-j);Mc(b+m,a+j,8*l);_8(xx,b,m+l))Xq(_1(xx,N(y(_2(xy,y,z)))))P(2>k,er2(y,z))Xe(((A2*)(x<<16>>16))(y,z))et2(y,z))
+AX(_8,Q(n)P(n==1,x1(*a))P(n==2,Ay=*a;y(x2(y,a[1])))P(!xtt,i8(x,a,n))Ik=xK;P(n<k,prj(x,a,n))Xo(run(x,a,n))Xv(v8[xv](a,n))Xr(adv(x,a,n))Xq(_1(xx,N(_8(xy,a,n))))
Xp(P(xn+k>9,er8(a,n))Im=xn-1,j=0;Ab8;i(m,b[i]=xA[i+1]==PLH&&j<n?a[j++]:_R(xA[i+1]))I l=max(0,n-j);Mc(b+m,a+j,8*l);_8(xx,b,m+l))P(n>k,er8(a,n))Xw(en8(a,n))Xe(en8(a,n))et8(a,n))
A1(jS,cS(jc('.',str(x))))//join symbols with "."
A1(val,XS(P(!xn,Ax=oS,y=oA;i(gn,I(gv[i],xq(as(gk[i]));yq(_R(gv[i]))))am(x,y))val(jS(x)))Xs(Li=fI(gk,gn,xv);i<0||!gv[i]?ev0():_R(gv[i]))XC(x=str0(x);x(evs(xV)))Xc(evs((V*)&x))XmM(x(_R(xy)))
- XA(P(!xn,x)P(xn==1,fir(x))P(xn>9,ez1(x))x=mut(x);Ay=_8(xx,&xy,xn-1);AN(1,x);x(y))Xr(cat(AT(tA,mut(x)),aw+xE))P(c3(tu,xt,tw),ai(xv))P(c3(to,xt,tq),AT(tA,mut(x)))et1(x))
-A2(dot,Ym(et2(x,y))Nn=yN;P(!n,y(x))P(n>8,ez2(x,y))y=mRa(Nx(cA(y)));x(y(x8(yA,n))))A2(idx,x(i1(x,y)))A2(ap1,x(x1(y)))S I knd(Ax/*0*/)_(Xz(ti)XZ(tI)xt)
+ XA(P(!xn,x)P(xn==1,fir(x))P(xn>9,ez1(x))x=mut(x);Ay=_8(xx,&xy,xn-1);AN(1,x);x(y))Xr(cat11(AT(tA,mut(x)),aw+xE))P(c3(tu,xt,tw),ai(xv))P(c3(to,xt,tq),AT(tA,mut(x)))et1(x))
+A2(dot,/*01*/Ym(et1(y))Nn=yN;P(!n,y(xR))P(n>8,ez1(y))y=mRa(N(cA(y)));y(x8(yA,n)))
+S I knd(Ax/*0*/)_(Xz(ti)XZ(tI)xt)
S A set(Ax,Li,Ay/*1i1*/)_(Q(xr==1);XA(Az=xa;xa=z(y);ytt&&!ytF?sqz(x):x)XM(Az=kv(&x);z=mut(z);Q(ztA);I(ytT&&yN-zn,x(el2(y,z)))Ij=i;i(zn,za=set(mut(za),j,ii(y,i));P(!za,za=au;x(y(z(0)))))y(aM(x,z)))
P(knd(x)-knd(y)-tC+tc,set(cA(x),i,y))I(xtZ,N(sup(&x,&y)))C w=xw;!w?xb=yv:w==1?xh=yv:w==2?xi=yv:(xl=gl(y));x)
AA(a8,Ax=*a,y=a[1];
XT(P(y==au,Ab8;Mc(b,a,n*8);b[1]=tilL(xN);a8(b,n))Yzc(Li=gl_(y);P(!in(i,xn),ei8(a,n))x=mut(y(x));Ab8;Az=a[2];*b=ii(x,i);Mc(b+1,a+3,8*n-24);set(x,i,Nx(z(z8(b,n-2)))))
- I(ytZC&&n==4,Az=a[2],u=a[3];P(xtZ&&ztv&&utzZ&&(0xcf&1<<zv),ara(x,y,z,u))P(xtC&&z==av&&utcC,cC(N(ara(x,y,z,u)))))Yt(et8(a,n))f8(AP1,a,n))
- Xm(Az=kv(&x),u=fnd(xR,yR);P(!u,mrn(n-1,a+1);x(z(0)))I(utlL,Q(ur==1);i(uN,I(ul==NL,ul=xN;xq(utt?yR:ii(y,i));zq(id_(a[2],z)))))Ab8;*b=y(z);b[1]=u;Mc(b+2,a+2,8*n-16);am(x,Nx(a8(b,n))))
+ I(ytZC&&n==4,Az=a[2],u=a[3];P(xtZ&&ztv&&utzZ&&(0xcf&1<<zv),y(z(u(ara(x,y,z,u)))))P(xtC&&z==av&&utcC,cC(N(y(z(u(ara(x,y,z,u))))))))Yt(et8(a,n))f8(AP1,a,n))
+ Xm(Az=kv(&x),u=fnd(x,yR);P(!u,mrn(n-1,a+1);x(z(0)))I(utlL,Q(ur==1);i(uN,I(ul==NL,ul=xN;xq(utt?yR:ii(y,i));zq(ide(a[2],z)))))Ab8;*b=y(z);b[1]=u;Mc(b+2,a+2,8*n-16);am(x,Nx(a8(b,n))))
XM(Ab8;i(n,Ax=a[i];b[i]=xtM?flp(x):x;Q(b[i]))flp(N(e8(AP1,b,n))))XF(Q(n>1)x(_8(x,a+1,n-1)))et8(a,n))
-S A3(a3,a8(A(x,y,z),3))A4(a4,a8(A(x,y,z,u),4))S A a5(Ax,Ay,Az,Au,A v)_(a8(A(x,y,z,u,v),5))S A3(d3,Nm=yN;P(y==au||!m,z(z1(y(x) )))P(m==1,a3(x,fir(y),z ))yR;a4(x,fir(y),prj(DOT,A(PLH,drp(1,y)),2),z))
-A4(d4,Nm=yN;P(y==au||!m,z(z2(y(x),u)))P(m==1,a4(x,fir(y),z,u))yR;a5(x,fir(y),prj(DOT,A(PLH,drp(1,y)),2),z,u))AA(d8_,n==4?d4(*a,a[1],a[2],a[3]):n==3?d3(*a,a[1],a[2]):en8(a,n))
-AA(d8,Ax=*a;XsS(Iv=_v(xts?x:jS(x));Li=fI(gk,gn,v);I(i<0,gk[i=gn++]=v)A*p=gv+i;I(!*p,*p=au)Ab8;*b=*p;Mc(b+1,a+1,(n-1)*8);*p=au;*p=_R(N(d8_(b,n))))I(n==3,XF(try(x,a[1],a[2])))d8_(a,n))
-SN A evKi(A*p,Qs)_(*p=evs(s);I(!*p,die(s))cns=apd(cns,*p))A evK(A*p,Qs,OA*a,In)_(I(!*p,evKi(p,s))n?_8(*p,a,n):*p)
+S A3(a3,/*111*/a8(A(x,y,z),3))
+A4(a4,/*1111*/a8(A(x,y,z,u),4))
+S A a5(Ax,Ay,Az,Au,A v/*11111*/)_(a8(A(x,y,z,u,v),5))
+S A3(d3,/*111*/Nm=yN;P(y==au||!m,z(z1(y(x))))P(m==1,a3(x,fir(y),z))yR;a4(x,fir(y),prj(DOT,A(PLH,drp(1,y)),2),z))
+A4(d4,/*1111*/Nm=yN;P(y==au||!m,z(x(z2(y(x),u))))P(m==1,a4(x,fir(y),z,u))yR;a5(x,fir(y),prj(DOT,A(PLH,drp(1,y)),2),z,u))
+AA(d8_,n==4?d4(*a,a[1],a[2],a[3]):n==3?d3(*a,a[1],a[2]):en8(a,n))
+AA(d8,Ax=*a;XsS(Iv=_v(xts?x:jS(x));Li=fI(gk,gn,v);I(i<0,gk[i=gn++]=v)A*p=gv+i;I(!*p,*p=au)Ab8;*b=*p;Mc(b+1,a+1,(n-1)*8);*p=au;*p=_R(N(d8_(b,n))))
+ I(n==3,Ay=a[1],z=a[2];XF(x(y(try(x,y,z)))))d8_(a,n))
+SN A evKi(A*p,Qs)_(*p=evs(s);I(!*p,die(s))cns=apd(cns,*p))
+A evK(A*p,Qs,OA*a,In)_(I(!*p,evKi(p,s))n?_8(*p,a,n):*p)
diff --git a/a.h b/a.h
index eaa21627..9926d3c4 100644
--- a/a.h
+++ b/a.h
@@ -75,14 +75,14 @@ TD unsigned long long UL,A,A0(),A1(A),A2(A,A),A3(A,A,A),A4(A,A,A,A),AA(OA*,I),AX
#define ALA(f,b...) A f(Ln,Ax )_(b)
#define AAL(f,b...) A f(Ax,Li )_(b)
#define AQ(f,b...) A f(Qs )_(b)
-A1 _R,aA1,asc,ax,cA,cB,cC,cD,cH,cI,cL,cS,csti,des,dsc,enl,epr,err,fir,flp,flr,frk,grp,hex,jS,js0,js1,kcos,kexp,klog,ksin,kst,las,len,m0,m1,mRa,mr,mut,neg,not,nul,ofp,opn,out,prng,qpri,rev,ser,spl,sqr,
- sqz,sqzZ,str,str0,til,typ,u0c,u1c,unh,unq,val,whr;
-A2 _1,aA2,aM,add,am,ap1,apd,cat,cst,dct,dex,dot,dvd,eql,exc,fil,f1,fnd,gtn,hsh,id_,idx,ltn,mnm,bng,mtc,mul,mxm,que,sub,und,v0c,v1c;
-A0 aa0;A3 _2,aA3,arf,arp,ars,cpl,r2,try;A4 ara,a4,d4;AX _8,adv,e8,f8,prj,run;AA a8,d8,ins;AL aA,aB,aC,aD,aI,aL,aS,al,az,cls,rndD,tilL;ALA drp,room,rsh;AAL ii;AQ aCz,bsl,bsm,die,evs,pk,sym;
-A a2t(A,A,C),ad(D),adm(A,A,I),aCm(Q,Q),aCn(Q,N),apc(A,C),apv(A,OV*),an(C,N),aV(C,N,OV*),cts(A,Q,N),e1f(A,A1),e2f(A,A,A2),err0(Q),evK(A*,Q,OA*,I),jc(C,A),jC(Q,N,A),kv(A*),mf(I,N),pen(A,A1*),sur(C,A,C),
- wdn(A,N,N,N),AT(UL,A),AV(UL,A),AW(C,A),AK(C,A),AO(UC,A),AN(N,A);
-V cyc(V*,N,N),dir(I,void(*)(V*,Q),V*),eS(A,N),eQ(Q,N,N),exit(I),iW(A,I,L,L),kargs(I,Q*),kinit(),*memchr(OV*,I,N),*memcpy(V*,OV*,N),*memmem(OV*,N,OV*,N),*memmove(V*,OV*,N),*memset(V*,I,N),mrn(N,OA*),
- mRn(N,OA*),OFP0(A),OFP1(A),repl(),tilV(V*,L,I);
+A1 _R,aA1,asc,cA,cB,cC,cD,cH,cI,cL,cS,csti,des,dsc,enl,epr,err,fir,flp,flr,frk,grp,hex,jS,js0,js1,kcos,kexp,klog,ksin,kst,las,len,m0,m1,mRa,mr,mut,neg,not,nul,ofp,opn,out,prng,
+ qpri,rev,ser,spl,sqr,sqz,sqzZ,str,str0,til,typ,u0c,u1c,unh,unq,val,whr;
+A2 _1,aA2,aM,add,am,apd,cat,cat11,cst,dct,dex,dot,dvd,eql,exc,fil,f1,fnd,gtn,hsh,ide,i1,ltn,mnm,bng,mtc,mul,mxm,que,sub,und,v0c,v1c;
+A3 _2,aA3,arf,arp,ars,cpl,r2,try;A4 ara,a4,d4;AX _8,adv,e8,f8,prj,run;AA a8,d8,ins;AL aA,aB,aC,aD,aI,aL,aS,al,az,cls,rndD,tilL;ALA drp,room,rsh;AAL ii;AQ aCz,bsl,bsm,die,evs,pk,sym;
+A a2t(A,A,C),ad(D),adm(A,A,I),aCm(Q,Q),aCn(Q,N),apc(A,C),apv(A,OV*),an(C,N),aV(C,N,OV*),cts(A,Q,N),e1f(A1,A),e2f(A2,A,A),err0(Q),evK(A*,Q,OA*,I),jc(C,A),jC(Q,N,A),
+ kv(A*),l2f(A2,A,A),mf(I,N),pen(A,A1*),sur(C,A,C),wdn(A,N,N,N),AT(UL,A),AV(UL,A),AW(C,A),AK(C,A),AO(UC,A),AN(N,A);
+V cyc(V*,N,N),dir(I,void(*)(V*,Q),V*),eS(A,N),eQ(Q,N,N),exit(I),iW(A,I,L,L),kargs(I,Q*),kinit(),*memchr(OV*,I,N),*memcpy(V*,OV*,N),*memmem(OV*,N,OV*,N),*memmove(V*,OV*,N),
+ *memset(V*,I,N),mrn(N,OA*),mRn(N,OA*),OFP0(A),OFP1(A),repl(),tilV(V*,L,I);
D ofpd0(L),gd(A);N strlen(Q),_N(A);C*sd(C*,L),*sl(C*,L),sup(A*,A*),tZ(L),*strchr(Q,I),*strchrnul(Q,I),*strstr(Q,Q);Q qs(O L*);
I _K(A),qA(A,A),qD(D,D),ina(A,N),js_eval(C*,I,C*,I),memcmp(OV*,OV*,N),mtc_(A,A),si(Q,I),strcmp(Q,Q),rnk(A),osf(Q,L);
L cfm(OA*,I),gl_(A),gl(A),iw(A,I,L),now(),pl(Q*),pu(Q*),tru(A),fI(OV*,N,L),fL(OV*,N,L),fAI(A,I),fpI(A*,I),ofpd1(D);
@@ -133,7 +133,7 @@ enum {tA=1,tB,tH,tI,tL,tD,tC,tS,tM,tm,ti,tl,td,tc,ts,to,tp,tq,tr,tu,t
#define as(v) (Lt(ts)|(UI)(v))
#define ae(v,k) (Lt(te)|(UL)(k)<<48|(UL)(v)<<16>>16)
#define V_ A1*v1[]={sam,flp,neg,fir,sqr,til,whr,rev,asc,dsc,grp,not,enl,nul,len,flr,str,unq,typ,val,u0c,u1c,sam,sam,las,out};\
- A2*v2[]={dex,add,sub,mul,dvd,bng,mnm,mxm,ltn,gtn,eql,mtc,cat,exc,hsh,und,cst,que,ap1,dot,v0c,v1c,dex,dex,dex,dex};\
+ A2*v2[]={dex,add,sub,mul,dvd,bng,mnm,mxm,ltn,gtn,eql,mtc,cat,exc,hsh,und,cst,que, _1,dot,v0c,v1c,dex,dex,dex,dex};\
AA*v8[]={er8,er8,er8,er8,er8,er8,er8,er8,er8,er8,er8,er8,er8,er8,er8,er8,er8,ins, a8, d8,er8,er8,er8,er8,er8,er8};\
OC vc[]={':','+','-','*','%','!','&','|','<','>','=','~',',','^','#','_','$','?','@','.','0','1','2','3','4','5'};
enum {au=Lt(tu),FLP,NEG,FIR,SQR,TIL,WHR,REV,ASC,DSC,GRP,NOT,ENL,NUL,LEN,FLR,STR,UNQ,TYP,VAL,U0C,U1C,U2C,U3C,LAS,OUT,
diff --git a/b.c b/b.c
index 3285b4ad..e812ccd0 100644
--- a/b.c
+++ b/b.c
@@ -17,7 +17,7 @@ S A cl(Ax,Ay/*00*/,I r)_(I o=xo;Q(xx==av||_t(xx)==tu)Iv=_v(xx);
YsS(I(yts,P(xx==av&&_n(fl),Li=fpI(&fl,yv);P(i>15,ez0())lu[i]=nb;h(bs+i)I(r,h(bg+i))OK)Ii=il(yv);P(i>=0,h(bm)h(i)h(v)I(r,h(bg+i))OK))E(P(yn==1,o)y=jS(yR))
Ii=ig(yv);P(i<0,ez0())h(v?bM:bS)h(i)I(v,h(v))I(r,h(bG)h(i))OK)
YA(In=yn-1;P(n-(UC)n||n<1,o)Az=yx;P(z==MKL&&xx==av,h(bL)h(n)i(n,Nl(x,yA[i+1],0))I(!r,h(bp))OK)
- P(ztsS,I(ztS,z=jS(zR))i(n,Nr(yA[n-i],1))h(bl)h(n)Ii=il(zv);P(i<0,hc(z)h(r?bX:bI)h(v)OK)h(r?bx:bi)h(i)h(v)OK)o)o)
+ ZsS(I(ztS,z=jS(zR))i(n,Nr(yA[n-i],1))h(bl)h(n)Ii=il(zv);P(i<0,hc(z)h(r?bX:bI)h(v)OK)h(r?bx:bi)h(i)h(v)OK)o)o)
S A cr(Ax/*0*/,I r)_(I o=xo;
XsS(I(xts,Ii=il(xv);P(i>=0,h(bg+i)I(!r,h(bp))OK)P(xv=='o',I(r,h(bo))OK))E(P(xn==1,I(r,hc(ii(x,0)))OK)x=jS(xR))Ii=ig(xv);P(i<0,ez0())h(bG)h(i)I(!r,h(bp))OK)
P(!xtA||!xn,I(r,hc(x-PLH?xR:au))OK)
@@ -31,7 +31,8 @@ S A cr(Ax/*0*/,I r)_(I o=xo;
I p=0;i(n-1,Az=xA[n-1-i];I(z==PLH,p=1;hc(PLH))E(Nr(z,1)))
I(p,Nr(xx,1);h(bP)h(n-1))J(y==MKL,n--;P(n-(UC)n,o);h(bl)h(n))J(n==2&&ytu,h(bu+yv))J(n==3&&ytv,h(bv+yv))J(n>9,ez0();_(o))E(Nr(xx,1);h(ba)h(n-1))
I(!r,h(bp))OK)
-S A2(f2,/*0*/P(xtw&&!ytsSA,1)/*P(x==TIL&&ytZ&&yn<4,i(yn,P(!in(gl(ii(y,i)),101),0))1)*/0)S A3(f3,/*0*/P(ADD<=x&&x<=MUL&&ytL&&ztL&&yn==zn&&yn<101,1)0)S A1(qt,/*1*/xtsSA?enl(x):x)
+S A2(f2,/*00*/P(xtw&&!ytsSA,1)/*P(x==TIL&&ytZ&&yn<4,i(yn,P(!in(gl(ii(y,i)),101),0))1)*/0)
+S A3(f3,/*000*/P(ADD<=x&&x<=MUL&&ytL&&ztL&&yn==zn&&yn<101,1)0)S A1(qt,/*1*/xtsSA?enl(x):x)
S A1(cf,XA(P(xx==MKL,i(xn,Ay=xa;YsSA(x))aA1(drp(1,x)))P(xn==2?f2(xx,xy):xn==3?f3(xx,xy,xz):0,qt(N(val(x))))Ay=rsh(xn,au);i(xn,ya=cf(xa);xa=au;P(!ya,die("cf")))AO(xo,x(y)))x)
S I mxs(Ii,I s)_(I r=s;W(1,UC c=b[i++];Q(s>=0)r=max(r,s);P(!c,r)s+=(c-ba<LEN(ds)?ds[c-ba]:c>=bc||c-bg<8u||c-bd<8u?1:c-bs<8u||c-bv<32u?-1:0)+((c==bL)-(c==bl||c==ba||c==bP))*b[i];
i+=(c-ba<LEN(di)?di[c-ba]:0)+(c==bj)*b[i];I(c==bz,r=max(r,mxs(i+b[i-1],s))))r)
@@ -46,10 +47,10 @@ AX(run,Q(xto)P(n-xk,er8(a,n))S I d;P(++d>1024,es8(a,n))UC*b=_V(xy),c,ns=*b++,nl=
J(c>=ba,SW(c,
C2(ba,bP,Nn=*b++;Ax=*s,*p=s+1;s+=n;U(*s=x((c==ba?_8:prj)(x,p,n))))
C(bi,Nn=*b++;Ax=l[n],y=*s++;U(x=l[n]=d4(x?x:au,y ,av+*b++,*s),*s=0)s++)
- C(bx,Nn=*b++;Ax=l[n],y=*s++;U(x=l[n]=d4(x?x:au,yR,av+*b++,*s),*s=y(0))U(*s=dot(xR,y)))
+ C(bx,Nn=*b++;Ax=l[n],y=*s++;U(x=l[n]=d4(x?x:au,yR,av+*b++,*s),*s=y(0))U(*s=dot(x,y)))
C(bI,Nn=*b++;Ax=*s++,y=*s++;U(x=d8(A(x,y ,av+n,*s),4),*s=0)s++)
- C(bX,Nn=*b++;Ax=*s++,y=*s++;U(x=d8(A(x,yR,av+n,*s),4),*s=y(0))U(*s=dot(x,y)))
- C2(bm,bM,Nn=*b++;A*v=(c==bm?l:gv)+n,x=*v;U(x,*s=ev1(*s))U(x=*v=v2[*b++](x,*s++),*--s=0))
+ C(bX,Nn=*b++;Ax=*s++,y=*s++;U(x=d8(A(x,yR,av+n,*s),4),*s=y(0))U(*s=x(dot(x,y))))
+ C2(bm,bM,Nn=*b++;A*v=(c==bm?l:gv)+n,x=*v;U(x,*s=ev1(*s))U(x=*v=x(v2[*b++](x,*s++)),*--s=0))
C(bG,Nn=*b++;Ax=*--s=gv[n];U(x,ev0())xR)
C(bS,Nn=*b++;Ax=*s++,y=gv[n];gv[n]=y?y(x):x)
C(bl,Nn=*b++;s+=n-1;*s=sqz(aV(tA,n,s-n+1)))
@@ -63,6 +64,6 @@ AX(run,Q(xto)P(n-xk,er8(a,n))S I d;P(++d>1024,es8(a,n))UC*b=_V(xy),c,ns=*b++,nl=
I(c>=bd,*--s=x;*v=0)
J(c>=bg,U(*--s=x)xR)
E(Q(c>=bs)Ay=*s++;*v=x?x(y):y))
- J(c>=bv,Ax=*s++;U(*s=v2[c-bv](x,*s)))
+ J(c>=bv,Ax=*s++;U(*s=x(v2[c-bv](x,*s))))
E(U(*s=v1[c](*s))))
l:I(!*s,eS(xx,(UC)_C(xz)[(C*)b-1-_C(xy)]))i(t+ns+nl-s-1,Ax=s[i+1];I(x,mr(x)))d--;/*Q(s==l-1)*/*s)
diff --git a/dy/err b/dy/err
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/dy/err
diff --git a/e.c b/e.c
index fca0e04a..40b69f8b 100644
--- a/e.c
+++ b/e.c
@@ -9,7 +9,7 @@ NI V eQ(Qs,Nn,Ni){I(++d>=5,I(d==5,Mc(r," ..\n",4);r+=4)return)
*r++=32;Mc(r,p,q-p);I(p<=t-h,*r=r[1]='.')I(q>t+h,r[q-p-2]=r[q-p-1]='.')r+=q-p;*r++=10;
Ms(r,32,t-p+1);r+=t-p+1;*r++='^';*r++=10;}
NI V eS(Ax/*0*/,Ni)_(eQ(xV,xn,i))
-A3(try,x=dot(x,y);P(x,z(x))I(ztF&&zK<3,z=z1(aCn(b,r-b)))r=b;d=0;z)
+A3(try,/*001*/x=dot(x,yR);P(x,z(x))I(ztF&&zK<3,z=z1(aCn(b,r-b)))r=b;d=0;z)
A1(epr,write(2,b,r-b);r=b;x)
A1(err,XC(x=str0(x);err1(x,xV))P(x==au,aCn(b,r-b))err1(x,"err"))
NI A die(Qs)_(In=Sn(s);Cv[n+1];Mc(v,s,n);v[n]=10;write(2,v,n+1);exit(1);0)
diff --git a/f.c b/f.c
index db6f6016..e100f157 100644
--- a/f.c
+++ b/f.c
@@ -9,8 +9,8 @@ S V shf(L*r,Nn){i(n,Ij=rm(i+1);SWP(r[i],r[j]))}
S A ro(UL n,UL m)_(Ct=m?tZ(m-1):tL;Ax=an(t,n);P(t==tB,i(n,xb=rm(m))x)P(t==tH,i(n,xh=rm(m))x)P(t==tI,i(n,xi=rm(m))x)i(n,xl=rnd1())I(m,i(n,xl=(UL)xl%m))x)
S A de(UL n,UL m)_(P(n>m,el0())Ax=ro(n,0);i(n,UL k=m-n+i;xl%=k+1;j(i,B(xL[j]==xl,xl=k)))shf(xV,n);x)
S A rd(Ln,Lm)_(P(m<0,ed0())n<0?de(n-NL?-n:m,m):ro(n,m))
-AL(rndD,add(ai(-1),AT(tD,add(al(1023ll<<52),N(rd(n,1ll<<52))))))
-S ALA(rnd,Xz(rd(n,gl(x)))Xc(cC(add(xv-'A'?ac('a'):x,Nx(rd(n,26)))))Xd(mul(x,Nx(rndD(n))))XMT(idx(x,Nx(rd(n,xN))))et1(x))
+AL(rndD,Ay=al(1023ll<<52);add(ai(-1),AT(tD,y(add(y,N(rd(n,1ll<<52)))))))
+S ALA(rnd,Xz(rd(n,gl(x)))Xc(cC(add(xv-'A'?ac('a'):x,Nx(rd(n,26)))))Xd(x(mul(x,Nx(rndD(n)))))XMT(x(x1(Nx(rd(n,xN)))))et1(x))
#define h(T) NI L f##T(OV*p,Nn,Lv)_(O T*a=p,q=v;P(v-q||!n,NL)Ii=0,g=HD/SZ(*a),f=0;W(i<n&&!f,j(g,f|=a[i++]==q))i-=g;j(g,B(a[i]==q)i++)i<n?i:NL)\
NI V F##T(OV*p,Nm,TY(fB)f,OV*q,Nn,L*r){O T*a=q;i(n,r[i]=f(p,m,a[i]))}\
@@ -20,15 +20,15 @@ S L fA(Ax,Ay/*00*/)_(XA(i(xn,P(mtc_(xa,y),i))NL)i(xN,Az=ii(x,i);P(mtc_(z,y),z(0)
L fAI(Ax/*0*/,Iv)_(fI(xV,xn,v))
I rnk(Ax/*0*/)_(XA(P(!xn,2)Iv=rnk(xx);P(v<0,v)i(xn,P(v-rnk(xa),-1))v+1)XmM(rnk(xy))xtT)//-1 for mixed rank
I urnk(Ax/*0*/)_(XA(xn?urnk(xx)+1:2)XmM(urnk(xy))xtT)//assuming unirank
-S A2(sdf,K("{a:&/x;b:1+|/x;@[(b-a)#0N;|x-a;:;|!#x]y-a}",x,y))//small-domain find
-A2(fnd,
+S A2(sdf,/*01*/K("{a:&/x;b:1+|/x;@[(b-a)#0N;|x-a;:;|!#x]y-a}",xR,y))//small-domain find
+A2(fnd,/*01*/
P(xtT&&!xtA&&!ytmMA,
P(xtZ&&ytzZ||xt==TT[yt],
P(xw<2&&xn>99&&yN>99,sdf(x,y))
- V(f,T(&fB,fH,fI,fL)[xw])Yt(x(az(f(xV,xn,gl(y)))))
- Az=aL(yn);Ii=yw;xe(ye(T(&FB,FH,FI,FL)[i](xV,xn,f,yV,yn,zV);z)))
- Az=cn[tl];zR;x(y(ytt?z:rsh(yN,z))))
- Xm(Az=kv(&x);idx(x,Nx(fnd(z,y))))
- Ik=urnk(x),l=urnk(y);P(k==l+1,x(y(az(fA(x,y)))))P(k<=l,r2(x,y,QUE))er2(x,y))
+ V(f,T(&fB,fH,fI,fL)[xw])Yt(az(f(xV,xn,gl(y))))
+ Az=aL(yn);Ii=yw;ye(T(&FB,FH,FI,FL)[i](xV,xn,f,yV,yn,zV);z))
+ Az=cn[tl];zR;y(ytt?z:rsh(yN,z)))
+ Xm(i1(xx,fnd(xy,y)))
+ Ik=urnk(x),l=urnk(y);P(k==l+1,y(az(fA(x,y))))P(k<=l,r2(QUE,x,y))er1(y))
-A2(que,Xs(S O C s[][4]={"","j","hex"};Li=fI(s,LEN(s),xv);T(&des,js0,unh,ed1)[i<0?LEN(s):i](y))Xz(rnd(gl(x),y))Xt(et2(x,y))fnd(x,y))
+A2(que,/*01*/Xs(S O C s[][4]={"","j","hex"};Li=fI(s,LEN(s),xv);T(&des,js0,unh,ed1)[i<0?LEN(s):i](y))Xz(rnd(gl_(x),y))Xt(et1(y))fnd(x,y))
diff --git a/g.h b/g.h
index 29b33d6a..41ae0177 100644
--- a/g.h
+++ b/g.h
@@ -432,10 +432,56 @@
#define YZDC(a...) P(ytZDC,a)
#define YmMA(a...) P(ytmMA,a)
#define YsSA(a...) P(ytsSA,a)
-#define x(a) dex(x,a)
-#define y(a) dex(y,a)
-#define z(a) dex(z,a)
-#define u(a) dex(u,a)
+#define ZA(a...) P(ztA,a)
+#define ZB(a...) P(ztB,a)
+#define ZH(a...) P(ztH,a)
+#define ZI(a...) P(ztI,a)
+#define ZL(a...) P(ztL,a)
+#define ZD(a...) P(ztD,a)
+#define ZC(a...) P(ztC,a)
+#define ZS(a...) P(ztS,a)
+#define ZM(a...) P(ztM,a)
+#define Zm(a...) P(ztm,a)
+#define Zi(a...) P(zti,a)
+#define Zl(a...) P(ztl,a)
+#define Zd(a...) P(ztd,a)
+#define Zs(a...) P(zts,a)
+#define Zc(a...) P(ztc,a)
+#define Zo(a...) P(zto,a)
+#define Zp(a...) P(ztp,a)
+#define Zq(a...) P(ztq,a)
+#define Zr(a...) P(ztr,a)
+#define Zu(a...) P(ztu,a)
+#define Zv(a...) P(ztv,a)
+#define Zw(a...) P(ztw,a)
+#define Ze(a...) P(zte,a)
+#define ZF(a...) P(ztF,a)
+#define ZP(a...) P(ztP,a)
+#define ZR(a...) P(ztR,a)
+#define Zt(a...) P(ztt,a)
+#define ZT(a...) P(ztT,a)
+#define Zz(a...) P(ztz,a)
+#define ZZ(a...) P(ztZ,a)
+#define ZcC(a...) P(ztcC,a)
+#define ZlL(a...) P(ztlL,a)
+#define ZdD(a...) P(ztdD,a)
+#define ZsS(a...) P(ztsS,a)
+#define ZzZ(a...) P(ztzZ,a)
+#define ZmM(a...) P(ztmM,a)
+#define Zmt(a...) P(ztmt,a)
+#define ZMT(a...) P(ztMT,a)
+#define Zzd(a...) P(ztzd,a)
+#define ZZD(a...) P(ztZD,a)
+#define Zzc(a...) P(ztzc,a)
+#define ZZC(a...) P(ztZC,a)
+#define Zzdc(a...) P(ztzdc,a)
+#define ZZDC(a...) P(ztZDC,a)
+#define ZmMA(a...) P(ztmMA,a)
+#define ZsSA(a...) P(ztsSA,a)
+#define x(a) ({A r_=(a);mr(x);r_;})
+#define y(a) ({A r_=(a);mr(y);r_;})
+#define z(a) ({A r_=(a);mr(z);r_;})
+#define u(a) ({A r_=(a);mr(u);r_;})
#define _A(x) ((A*)_V(x))
#define _B(x) ((B*)_V(x))
#define _H(x) ((H*)_V(x))
diff --git a/g.k b/g.k
index 28813c92..fb8809f2 100755
--- a/g.k
+++ b/g.k
@@ -6,8 +6,8 @@ v:"xyzu";t:"ABHILDC";T:t,"SMmildscopqruvwe";U:T,"FPRtTzZ",$`cC`lL`dD`sS`zZ`mM`mt
/@:arg[0],$:arg[1],%:lower(arg[0])
d("@$ _$(@)";v;"EKkmNnoRrtUVvWwXxyZz",t,(_t),"t",'U)
d("@$(a...) _$(@,a)";v;"qe128")
-d("@$(a...) P(%t$,a)";"XY";U)
-d("@(a) dex(@,a)";v)
+d("@$(a...) P(%t$,a)";"XYZ";U)
+d("@(a) ({A r_=(a);mr(@);r_;})";v)
d("_@(x) ((@*)_V(x))";t)
d("_%(x) _@(x)[i]";t)
d("_t@(x) (_t(x)==t@)";"ABHILDCSMmldopqr")
diff --git a/h.c b/h.c
index 2140cff6..0a333dc1 100644
--- a/h.c
+++ b/h.c
@@ -1,29 +1,29 @@
#include"a.h" // ngn/k, (c) 2019-2022 ngn, GNU AGPLv3 - https://codeberg.org/ngn/k/raw/branch/master/LICENSE
-SN A flt(Ax,Ay,Cb)_(Q(xtF);P(xK-1,er2(x,y))Ym(K("{(!y)[i]!(. y)i:&z~/:x@. y}",x,y,ai(b)))x=Ny(ap1(x,yR));x=xN?Ny(cL(x)):x(oB);P(!xtt&&xN-yN,el2(x,y))
+SN A flt(Ax,Ay,Cb/*01b*/)_(P(xK-1,er1(y))Ym(K("{(!y)[i]!(. y)i:&z~/:x@. y}",xR,y,ai(b)))x=Ny(x1(yR));x=xN?Ny(cL(x)):x(oB);P(!xtt&&xN-yN,el2(x,y))
Az=rsh(0,yR);i(yN,Ln=gl(ii(x,i));B(b&&n-(UI)n,z=ed1(z))j(b?n:!n,zq(ii(y,i))))x(y(z)))
V cyc(V*a,Nm,Nn){Q(m);W(2*m<=n,Mc(a+m,a,m);m*=2)I(n>m,Mc(a+m,a,n-m))}
-ALA(rsh,Xt(rsh(n,enl(x)))XM(Ay=kv(&x);aM(x,Nx(r2(az(n),y,RSH))))Xm(Ay=kv(&x);x=Ny(rsh(n,x));y=Nx(rsh(n,y));am(x,y))Q(xtT)
+ALA(rsh,/*1*/Xt(rsh(n,enl(x)))XM(Ay=kv(&x),z=az(n);aM(x,Nx(z(r2(RSH,z,y)))))Xm(Ay=kv(&x);x=Ny(rsh(n,x));y=Nx(rsh(n,y));am(x,y))Q(xtT)
P(!xn,rsh(n,enl(fir(x))))P(n==NL,x)I r=n<0;I(r,n=-n)Ay=an(xt,n);N w=xW,m=xn*w,k=n%xn*w,l=n*w;
I(!r,Mc(yV,xV,min(m,l)))J(l<=m,Mc(yV,xV+m-l,l))E(Mc(yV,xV+m-k,k);Mc(yV+k,xV,m-k))cyc(yV,m,l);x(ytA?sqz(mRa(y)):y))
S A slc(Ax/*0*/,Ni,Nj)_(Q(xtT&&i<=j&&i<=xn)Ay=an(xt,j-i);Mc(yV,xV+i*xW,(j-i)*xW);XA(sqz(mRa(y)))y)
-S ALA(chp,P(n<0,ed1(x))Lm=(xn+n-1)/n;Ay=aA(m);i(m,ya=slc(x,n*i,min(xn,n*i+n)))x(y))
+S ALA(chp/*1*/,P(n<0,ed1(x))Lm=(xn+n-1)/n;Ay=aA(m);i(m,ya=slc(x,n*i,min(xn,n*i+n)))x(y))
S A shp(O L*s,Nn,Ax,Lm)_(Q(xtT)Q(xn)Q(n)P(n==1,rsh(m**s,x))x=shp(s+1,n-1,x,m**s);s[1]?chp(s[1],x):rsh(m**s,enl(x)))
S A rshL(O L*s,Nn,Ax)_(Xt(rshL(s,n,enl(x)))XmM(en1(x))P(!n,fir(x))P(n>8,ez1(x))
P(n==1&&*s==NL,x)I(n==2,P(*s==NL,chp(s[1],x))P(s[1]==NL,K("{((-x)!(#y)*!x)_y}",az(*s),x)))P(!xn,rshL(s,n,enl(fir(x))))
Lm=1;i(n,P(s[i]<0,ed1(x))m*=max(1,s[i]))x=N(rsh(m,x));shp(s,n,x,1))
-A2(hsh,Xz(rsh(gl(x),y))XZ(x=Ny(cL(x));x(rshL(xL,xn,y)))XF(flt(x,y,1))XT(P(ytm||ytM&&xtS,a2t(x,ap1(y,xR),yt))et2(x,y))et2(x,y))
-ALA(drp,XT(P(n==NL,rsh(0,x))P(-n<=(UL)xn&&xr==1,I(xtA,mrn(-n,xA+xn+n))AN(xn+n,x))x(slc(x,max(0,min((L)xn,n)),max(0,min((L)xn,xn+n)))))
- Xm(Ay=kv(&x);am(Ny(drp(n,x)),Nx(drp(n,y))))XM(Ay=kv(&x);aM(x,Nx(e2f(az(n),y,und))))er1(x))
+A2(hsh,/*01*/Xz(rsh(gl_(x),y))XZ(x=Ny(cL(xR));x(rshL(xL,xn,y)))XF(flt(x,y,1))XT(P(ytm||ytM&&xtS,a2t(xR,y(y1(xR)),yt))et1(y))et1(y))
+ALA(drp,/*n1*/XT(P(n==NL,rsh(0,x))P(-n<=(UL)xn&&xr==1,I(xtA,mrn(-n,xA+xn+n))AN(xn+n,x))x(slc(x,max(0,min((L)xn,n)),max(0,min((L)xn,xn+n)))))
+ Xm(Ay=kv(&x);am(Ny(drp(n,x)),Nx(drp(n,y))))XM(Ay=kv(&x);aM(x,Nx(e2f(und,az(n),y))))er1(x))
S AAL(rmv,XT(P(!in(i,xn),x)Ay=an(xt,xn-1);Mc(yV,xV,i*xW);Mc(yV+i*xW,xV+i*xW+xW,(xn-i-1)*xW);I(xtA,y=sqz(mRa(y)))x(y))et1(x))
-S A2(cut,Q(xtZ)Q(ytMT)K("{y$[|/0<':x,#y;`err\"domain\";x+!'1_-':x,#y]}",x,y))
-A2(und,Xz(drp(gl(x),y))XF(flt(x,y,0))Xm(Az=kv(&x);y=fnd(xR,y);P(!y,x(z(0)))yR;am(Nz(und(x,y)),Nx(und(z,y))))
- P(xtZ&&ytMT,cut(x,y))P(xtMT&&ytz,rmv(x,gl(y)))Ym(K("{((!y)^x)#y}",x,y))YM(K("{+x_+y}",x,y))et2(x,y))
-A1(enl,Xi(aV(tZ(xv),1,&x))XF(aA1(x))XP(aV(TT[xt],1,&x))Xt(x(aV(TT[xt],1,xV)))Xm(Ay=kv(&x);aM(x,e1f(y,enl)))aA1(x))
-A2(cat,P(xtm&&ytm,Az=kv(&y);a4(x,y,av,z))Xmt(cat(enl(x),y))Ymt(cat(x,enl(y)))
- P(xtM||ytM,P(xtT||ytT,x=Ny(cA(x));y=Nx(cA(y));cat(x,y))P(!xtM||!ytM,et2(x,y))P(!mtc_(xx,yx),ed2(x,y))Az=e2f(_R(xy),_R(yy),cat);x(y(z?aM(_R(xx),z):0)))
+S A2(cut,/*01*/Q(xtZ)Q(ytMT)K("{y$[|/0<':x,#y;`err\"domain\";x+!'1_-':x,#y]}",xR,y))
+A2(und,/*01*/Xz(drp(gl_(x),y))XF(flt(x,y,0))Xm(y=N(fnd(xx,y));yR;am(und(xx,y),und(xy,y)))P(xtZ&&ytMT,cut(x,y))P(xtMT&&ytz,rmv(xR,gl(y)))Ym(K("{((!y)^x)#y}",xR,y))YM(K("{+x_+y}",xR,y))et1(y))
+A1(enl,Xi(aV(tZ(xv),1,&x))XF(aA1(x))XP(aV(TT[xt],1,&x))Xt(x(aV(TT[xt],1,xV)))Xm(Ay=kv(&x);aM(x,e1f(enl,y)))aA1(x))
+A2(cat11,P(xtm&&ytm,Az=kv(&y);a4(x,y,av,z))Xmt(cat11(enl(x),y))Ymt(cat11(x,enl(y)))
+ P(xtM||ytM,P(xtT||ytT,x=Ny(cA(x));y=Nx(cA(y));cat11(x,y))P(!xtM||!ytM,et2(x,y))P(!mtc_(xx,yx),ed2(x,y))Az=e2f(cat,xy,_R(yy));x(y(z?aM(_R(xx),z):0)))
P(!yn,y(x))P(!xn,x(y))I(xtZ&&ytzZ,N(sup(&x,&y)))I(xt-yt,x=cA(x);y=cA(y))
Nm=xn,n=yn,w=xW;x=room(m+n,x);Mc(xV+m*w,yV,n*w);I(ytA,yr-1?mRa(y):AN(0,y))y(x))
-A2(apd,Q(xtMT);Nn=xn;P(!n,enl(x(y)))
+A2(cat,/*01*/cat11(xR,y))
+A2(apd,/*11*/Q(xtMT);Nn=xn;P(!n,enl(x(y)))
P(xtB&&yti&&yv==(B)yv||xtC&&ytc,apc(x,yv))
P(xtH&&yti&&yv==(H)yv,x=room(n+1,x);xH[n]=yv;x)
P(xtI&&yti||xtS&&yts ,x=room(n+1,x);xI[n]=yv;x)
@@ -33,12 +33,11 @@ A2(apd,Q(xtMT);Nn=xn;P(!n,enl(x(y)))
XM(P(!ytm||!mtc_(xx,yx),apd(Ny(cA(x)),y))x=mut(x);Az=xy=mut(xy);i(zn,_q(za,ii(yy,i)))y(x))
P(!xtA&&(!ytt||xt-TT[yt]),apd(Ny(cA(x)),y))
Lv=xtA?(L)y:gl(y);apv(x,&v))
-A apv(Ax,OV*v )_(Q(xtT); Nn=xn;x=room(n+1,x);Mc(xV+n*xW,v,xW);x)
-A apc(Ax,Cc )_(Q(xtC||xtB);Nn=xn;x=room(n+1,x);xC[n]=c;x)
-A cts(Ax,Qs,Nm)_(Q(xtC); Nn=xn;x=room(n+m,x);Mc(xV+n,s,m);x)
+A apv(Ax/*1*/,OV*v )_(Q(xtT); Nn=xn;x=room(n+1,x);Mc(xV+n*xW,v,xW);x)
+A apc(Ax/*1*/,Cc )_(Q(xtC||xtB);Nn=xn;x=room(n+1,x);xC[n]=c;x)
+A cts(Ax/*1*/,Qs,Nm)_(Q(xtC); Nn=xn;x=room(n+m,x);Mc(xV+n,s,m);x)
S A insL(Ax,Li,Lj,Ay)_(YF(insL(x,i,j,Nx(y(y1(slc(x,i,j))))))Xmt(et2(x,y))Ymt(insL(x,i,j,enl(y)))P(xtM||ytM,en2(x,y))
P(!in(i,j+1)||!in(j,xN+1),ei2(x,y))P(xtZ&&ytZ&&xt-yt,N(sup(&x,&y));insL(x,i,j,y))P(xt-yt,insL(cA(x),i,j,cA(y)))
Az=an(xt,xn-j+i+yn);Mc(zV,xV,i*xW);Mc(zV+i*xW,yV,yn*xW);Mc(zV+(i+yn)*xW,xV+j*xW,(xn-j)*xW);
I(xtR,I(xr-1,mRn(i,xA);mRn(xn-j,xA+j))E(mrn(j-i,xA+i);AN(0,x))I(yr-1,mRa(y))E(AN(0,y)))x(y(z)))
-S A3(ins3,Yz(Li=gl(y);insL(x,i,i,z))YZ(P(yN-2,el2(x,z(y)))Li=gl(ii(y,0)),j=gl(las(y));insL(x,i,j,z))et2(x,z(y)))
-AA(ins,n==3?ins3(*a,a[1],a[2]):en8(a,n))
+AA(ins,P(n-3,en8(a,n))Ax=*a,y=a[1],z=a[2];Yz(Li=gl(y);insL(x,i,i,z))YZ(P(yN-2,el2(x,z(y)))Li=gl(ii(y,0)),j=gl(las(y));insL(x,i,j,z))et2(x,z(y)))
diff --git a/i.c b/i.c
index 7ea4ceb5..9eab9b2b 100644
--- a/i.c
+++ b/i.c
@@ -20,13 +20,13 @@ S I fmd(If)_(ST stat s;fstat(f,&s)<0?0:s.st_mode)A1(opn,Xz(x)az(N(o(x,O_RDWR|O_C
S V d(V*p,Qs){*(A*)p=apc(cts(*(A*)p,s,Sn(s)),10);}
A1(u1c,Xz(If=gl(x);Cb[1024];x=oC;W(1,Ik=read(f,b,SZ b);P(k<0,eo1(x))x=cts(x,b,k);P(k-SZ b,x))0)If=N(o(x,O_RDONLY));P(f<3,u1c(ai(f)))Im=fmd(f);P(S_ISDIR(m),Ax=oC;dir(f,d,&x);close(f);x)
P(S_ISREG(m),Ln=lseek(f,0,SEEK_END);P(n<0,close(f);eo0())P(!n,oC)Ax=mf(f,n);close(f);x)Ay=u1c(ai(f));close(f);y)
-A2(v0c,YA(v0c(x,Nx(jc(10,y))))YC(v1c(x,apc(y,10)))et2(x,y))
-A2(v1c,P(!ytC,et2(x,y))
- Xz(If=gl(x);Nn=yn;Qs=yV;P(f<3||!S_ISREG(fmd(f)),ye(Az=au;W(n>0,Lk=write(f,s,n);I(k<0,z=eo0())B(k<=0)s+=k;n-=k)z))ftruncate(f,n);V*p=mmap(0,n,PROT_READ|PROT_WRITE,MAP_SHARED,f,0);Mc(p,s,n);munmap(p,n);y(au))
- If=N(o(x,O_RDWR|O_CREAT|O_TRUNC));Az=v1c(ai(f),y);f>2&&close(f);z)
+A2(v0c,YA(v0c(x,N(jc(10,y))))YC(v1c(x,apc(y,10)))et1(y))
+A2(v1c,P(!ytC,et1(y))
+ Xz(If=gl_(x);Nn=yn;Qs=yV;P(f<3||!S_ISREG(fmd(f)),ye(Az=au;W(n>0,Lk=write(f,s,n);I(k<0,z=eo0())B(k<=0)s+=k;n-=k)z))ftruncate(f,n);V*p=mmap(0,n,PROT_READ|PROT_WRITE,MAP_SHARED,f,0);Mc(p,s,n);munmap(p,n);y(au))
+ If=N(o(xR,O_RDWR|O_CREAT|O_TRUNC));Az=v1c(ai(f),y);f>2&&close(f);z)
S A rda(If)_(Ax=aC(256-HD);L m=0,k;W((k=read(f,xV+m,xn-m))>0,m+=k;I(m+1000000>xn&&2*m>xn,Ay=aC(2*xn+HD);Mc(yV,xV,m);x=x(y)))close(f);AN(m,x))
S I lC(Ax)_(P(!xtA,0)i(xn,P(_t(xa)-tC,0))1) //list of strings?
-A1(frk,P(!xtA||xn-2,et1(x))Ay=kv(&x);P(!lC(x)||!ytC,ed2(x,y))x=Ny(e1f(x,str0));Q a[xn+1];i(xn,a[i]=_V(xa))a[xn]=0;I p[4];pipe(p);pipe(p+2);I pid=fork();
+A1(frk,P(!xtA||xn-2,et1(x))Ay=kv(&x);P(!lC(x)||!ytC,ed2(x,y))x=Ny(e1f(str0,x));Q a[xn+1];i(xn,a[i]=_V(xa))a[xn]=0;I p[4];pipe(p);pipe(p+2);I pid=fork();
P(!pid,dup2(*p,0);dup2(p[3],1);i(4,close(p[i]))exit(execve(*a,(C**)a,(C*O*)env));0)close(*p);close(p[3]);N(v0c(ai(p[1]),x(y)));close(p[1]);Ax=rda(p[2]);wait4(pid,0,0,0);x)
L now()_(ST timeval t;gettimeofday(&t,0);1000000ll*t.tv_sec+t.tv_usec)
diff --git a/m.c b/m.c
index 997d3654..7dbb037a 100644
--- a/m.c
+++ b/m.c
@@ -14,9 +14,10 @@ S Az[SZ(N)==4?27:35];S I lck;S A mb(Cb,Ax)_(xX=0;xr=0;DBG(AN(-1,AT(0,x));*xL=0);
A1(m0,DBG(lck++);Q(x);XP(0)Q(xr>0);P(--xr,0)Cb=xU;P(!b,x=AT(tn,x))xX=z[b];z[b]=(A)xV;XR(mrn(xn,xA);x)x)A1(m1,DBG(lck--);P(!x,0)P(xt==tn,mu(xV-PG,xn+PG))DBG(Ms(xV,0xab,xZ);DBG(AN(-1,AT(0,x))));0)
A an(Ct,Nn)_(Q(!lck);Q(c3(tA,t,tn-1));Q(!TP(t));Cb=59-__builtin_clzll(HD|HD-1+n*TZ[t]);P(n>1ull<<LEN(z)||b>LEN(z)-2,oom())
Ax=z[b];Ii=b;W(!z[i],i++)I(i<LEN(z)-1,x=z[i];z[i]=xX)E(x=mb(b,mx(HD<<(i=max(b,24)))))I(b<i,xU=b;W(b<i--,z[i]=mb(i,(A)x+(HD<<i))))xr=1;AT(t,AN(n,x)))
-A1(mr,m1(m0(x)))A aV(Ct,Nn,OV*v)_(Ax=an(t,n);Mc(xV,v,n*TZ[t]);x)A1(ax,xr>1?xr--,an(xt,xn):x)A0(aa0,am(enl(as(0)),enl(au)))A a2t(Ax,Ay,Ct)_(Az=an(t,2);zx=x;zy=y;z)
-A1(aA1,Ay=an(tA,1);yx=x;y)A3(aA3,Au=an(tA,3);ux=x;uy=y;uz=z;u)A2(aA2,a2t(x,y,tA))A2(aM,a2t(x,y,tM))A2(am,a2t(x,y,tm))AL(aA,an(tA,n))AL(aB,an(tB,n))AL(aC,an(tC,n))AL(aI,an(tI,n))AL(aL,an(tL,n))
-AL(aD,an(tD,n))AL(aS,an(tS,n))A al(Lv)_(aV(tl,1,&v))A ad(Dv)_(aV(td,1,&v))A aCn(Qs,Nn)_(aV(tC,n,s))A aCm(Qp,Qq)_(aCn(p,q-p))AQ(aCz,aCn(s,Sn(s)))
+A1(mr,m1(m0(x)))A aV(Ct,Nn,OV*v)_(Ax=an(t,n);Mc(xV,v,n*TZ[t]);x)A a2t(Ax,Ay,Ct/*11t*/)_(Az=an(t,2);zx=x;zy=y;z)
+A1(aA1,Ay=an(tA,1);yx=x;y)A2(aA2,/*11*/a2t(x,y,tA))A3(aA3,/*111*/Au=an(tA,3);ux=x;uy=y;uz=z;u)A2(aM,/*11*/a2t(x,y,tM))A2(am,/*11*/a2t(x,y,tm))
+AL(aA,an(tA,n))AL(aB,an(tB,n))AL(aC,an(tC,n))AL(aI,an(tI,n))AL(aL,an(tL,n))AL(aD,an(tD,n))AL(aS,an(tS,n))
+A al(Lv)_(aV(tl,1,&v))A ad(Dv)_(aV(td,1,&v))A aCn(Qs,Nn)_(aV(tC,n,s))A aCm(Qp,Qq)_(aCn(p,q-p))AQ(aCz,aCn(s,Sn(s)))
C tZ(Lv)_(v==(B)v?tB:v==(H)v?tH:v==(I)v?tI:tL)A kv(A*p)_(Ax=*p;Q(xn==2);P(xr>1,--xr;*p=_R(xx);_R(xy))*p=xx;AN(0,x);x(xy))AL(az,n-(I)n?al(n):ai(n))A1(mut,XP(x)P(xr==1,x)x=x(aV(xt,xn,xV));XR(mRa(x))x)
ALA(room,P(xr==1&&n*xW<=xZ,AN(n,x))Ay=an(xt,n);Mc(yV,xV,xn*xW);I(ytR,I(xr==1,AN(0,x))E(i(xn,_R(ya))))x(y))L gl_(Ax)_(XP(xv)*xL)L gl(Ax)_(Lv=gl_(x);x(0);v)D gd(Ax)_(Dv=*xD;x(0);v)
diff --git a/o.c b/o.c
index eaa0f4ab..2c43cbc9 100644
--- a/o.c
+++ b/o.c
@@ -1,7 +1,7 @@
#include"a.h" // ngn/k, (c) 2019-2022 ngn, GNU AGPLv3 - https://codeberg.org/ngn/k/raw/branch/master/LICENSE
I mtc_(Ax,Ay/*00*/)_(P(x==y,1)P(xtz&&ytz,gl_(x)==gl_(y))P(xts&&yts,xv==yv)P(xtZ&&ytZ&&xt-yt&&xn==yn,xR;yR;sup(&x,&y);x(y(!MQ(xV,yV,xn*TZ[xt]))))P(xt-yt||xtP||(xtr&&xE-yE)||xn-yn,0)
P(!xtR,i(xn*xW,P(xc-yc,0))1)P(c3(tB,xt,tS)&&xt==yt&&xn==yn,!MQ(xV,yV,xn*TZ[xt]))i(xn,P(!mtc_(xa,ya),0))1)
-A2(mtc,x(y(ai(mtc_(x,y)))))
+A2(mtc,/*01*/y(ai(mtc_(x,y))))
S O UL o=(-1ull>>12)-1;S L t(Lv)_(v^(UL)(v>>63)>>1)S L ofp1(Lv)_(t(v)+o)S L ofp0(Lv)_(t(v-o))A1(ofp,Q(xtdD);x=mut(x);OFP1(x);AT(xt-td+tl,x))//ordered floating point
V OFP1(Ax/*!*/){Q(xtdD||xtlL)i(PD(xn,xL),xl=ofp1(xl))}L ofpd1(Dv)_(ofp1(*(L*)&v))
V OFP0(Ax/*!*/){Q(xtdD||xtlL)i(PD(xn,xL),xl=ofp0(xl))}D ofpd0(Lv)_(*(D*)T(ofp0(v)))
@@ -17,5 +17,5 @@ S V ascA(OA*v,I*a,In,I*b){P(n<2,I(n,*b=*a);)I m=n/2;ascA(v,a+m,n-m,b+m);ascA(v,a
A1(asc,Xt(opn(x))Xm(K("{(!x)@<. x}",x))XM(K("{(!#x){x@<y x}/|.+x}",x))XS(asc(str(x)))XD(asc(ordD(x)))In=xn;P(n-xn,ez1(x))
XA(Im=n/2;OA*v=xA;Ay=aI(n),z=aI(n-m);I*a=yV,*b=zV;tilV(a,n,2);ascA(v,a+m,n-m,b);ascA(v,a,m,a+n-m);mrg(v,a+n-m,a+n,b,b+n-m,a);x(z(y)))
x=N(K("{x-&/x}",x));Ay=aC(n),z=aI(n),u=aI(n);xe(ye(ascZ(xV,yV,zV,uV,n,xW)==zV?u(z):z(u))))
-A1(dsc,XMT(x=rev(asc(rev(x)));sub(ai(xN-1),x))Xm(Ay=kv(&x);idx(x,Nx(dsc(y))))Xz(cls(gl(x)))et1(x))
-A1(grp,Xz(K("{@[&x;;:;1]'!x}",x))Xt(et1(x))Xm(Ay=kv(&x);y=Nx(grp(y));yy=idx(x,yy);y)K("{(x[(!0),*'g])!g@:<g:(&(!0),~x~':x i)_i:<x}",x))
+A1(dsc,XMT(x=rev(asc(rev(x)));sub(ai(xN-1),x))Xm(Ay=kv(&x);x(x1(Nx(dsc(y)))))Xz(cls(gl(x)))et1(x))
+A1(grp,Xz(K("{@[&x;;:;1]'!x}",x))Xt(et1(x))Xm(Ay=kv(&x);y=Nx(grp(y));yy=x(i1(x,yy));y)K("{(x[(!0),*'g])!g@:<g:(&(!0),~x~':x i)_i:<x}",x))
diff --git a/s.c b/s.c
index b381597c..1dee94f5 100644
--- a/s.c
+++ b/s.c
@@ -30,16 +30,16 @@ C*sd(C*s,L d)_(UL x=d,m=x<<12>>12;I e=x<<1>>53;I(x>>63,*s++='-')P(e==2047,m?Mh(s
s++;I l=su(s,u)-s-1;s[-1]=*s;t+=l;P(in(t,16),Ik=l<t?l:t;Mm(s,s+1,k);Ms(s+l,'0',max(0,t-l));s+=t;*s++='.';s+=l-k;I(t>=l,*s++='0')s)
P(-4<t&&t<0,i(l+1,s[l-t-i]=s[l-i])s[-1]='0';*s++='.';Ms(s,'0',-t-1)+l-t)I(l>0,*s++='.';s+=l)*s++='e';I(t<0,t=-t;*s++='-')su(s,t))
A1(str0,Q(xtC);Nn=xn;x=AN(n,room(n+1,x));xC[n]=0;x)
-A1(str,Xzd(Ay=aC(24);V(f,xtd?sd:sl)AN(f(yC,gl(x))-yC,y))Xs(Lv=xv;aCz(qs(&v)))Xc(enl(x))XF(kst(x))e1f(x,str))
+A1(str,Xzd(Ay=aC(24);V(f,xtd?sd:sl)AN(f(yC,gl(x))-yC,y))Xs(Lv=xv;aCz(qs(&v)))Xc(enl(x))XF(kst(x))e1f(str,x))
-S A pre(Cc,Ax)_(cat(ac(c),x))A sur(Cc,Ax,Cd)_(apc(pre(c,x),d))S A1(par,sur('(',x,')'))S A1(raz,f1(x,CAT))S I esc(Cc)_(i(6,P(c=="\0\t\n\r\"\\"[i],i))-1)S A1(ek,e1f(x,kst))
-S A1(kss,Nn=xn+2;Iv=1;i(xn,I e=esc(xc)>=0;n+=e;v&=e||c3(32,xc,126))P(!v,cat(aCz("0x"),hex(x)))Ay=aC(n);C*s=yV;*s++='"';i(xn,Ij=esc(xc);I(j<0,*s++=xc)E(*s++='\\';*s++="0tnr\"\\"[j]))*s++='"';x(y))
+S A pre(Cc,Ax)_(cat11(ac(c),x))A sur(Cc,Ax,Cd)_(apc(pre(c,x),d))S A1(par,sur('(',x,')'))S A1(raz,f1(CAT,x))S I esc(Cc)_(i(6,P(c=="\0\t\n\r\"\\"[i],i))-1)S A1(ek,e1f(kst,x))
+S A1(kss,Nn=xn+2;Iv=1;i(xn,I e=esc(xc)>=0;n+=e;v&=e||c3(32,xc,126))P(!v,cat11(aCz("0x"),hex(x)))Ay=aC(n);C*s=yV;*s++='"';i(xn,Ij=esc(xc);I(j<0,*s++=xc)E(*s++='\\';*s++="0tnr\"\\"[j]))*s++='"';x(y))
S A ksp(Ax,Qp,Qq,Qs)_(Ct=TS[xt];(SC(p,t)?xn==1:SC(q,t)?xn<2:!!SC(s,t))?par(kst(x)):kst(x))A1(ksl,ksp(x,"AC","IDS","Mmqruvw"))A1(ksr,ksp(x,"","","qruvw"))A1(ksw,ksp(x,"AC","IDS","Mmpqw"))
-A1(kst,P(xtT&&xn==1,pre(',',ksr(fir(x))))XA(par(jc(';',ek(x))))Xc(kss(enl(x)))XC(kss(x))XZD(xn?jc(32,e1f(x,str)):x(aCz(xtD?"0#0n":"!0")))XS(xn?raz(ek(x)):x(aCz("0#`")))XM(pre('+',kst(flp(x))))
- Xm(Ay=kv(&x);cat(apc(ksl(x),'!'),ksr(y)))Xzd(str(x))Xs(x=str(x);Iv=1;i(xn,v&=c09(xc)||cAz(xc))I(!v,x=kst(x);I(*xC==',',x=drp(1,x)))pre('`',x))Xo(x(_R(xx)))
- Xp(x=val(x);Ay=xx,z=xy;P(xn==3&&((ytv&&y-av)||ytr)&&xy-PLH&&xz==PLH,z=ksl(zR);y=kst(fir(x));cA9(zC[zn-1])&&(cA9(*yC)||*yC==':'||*yC=='-')?cts(cat(apc(y,'['),z),";]",2):cat(z,y))
+A1(kst,P(xtT&&xn==1,pre(',',ksr(fir(x))))XA(par(jc(';',ek(x))))Xc(kss(enl(x)))XC(kss(x))XZD(xn?jc(32,e1f(str,x)):x(aCz(xtD?"0#0n":"!0")))XS(xn?raz(ek(x)):x(aCz("0#`")))XM(pre('+',kst(flp(x))))
+ Xm(Ay=kv(&x);cat11(apc(ksl(x),'!'),ksr(y)))Xzd(str(x))Xs(x=str(x);Iv=1;i(xn,v&=c09(xc)||cAz(xc))I(!v,x=kst(x);I(*xC==',',x=drp(1,x)))pre('`',x))Xo(x(_R(xx)))
+ Xp(x=val(x);Ay=xx,z=xy;P(xn==3&&((ytv&&y-av)||ytr)&&xy-PLH&&xz==PLH,z=ksl(zR);y=kst(fir(x));cA9(zC[zn-1])&&(cA9(*yC)||*yC==':'||*yC=='-')?cts(cat11(apc(y,'['),z),";]",2):cat11(z,y))
x=ek(x);Nm=_n(xx);x=apc(jc(';',x),']');Q(xr==1);xC[m]='[';x)
- Xq(raz(ek(val(x))))Xr(x=val(x);Ay=_R(xy);cat(ksw(fir(x)),str(y)))Xw(aCn(&"':/:\\:"[xv%3*2],1+xv/3))P(x==PLH,oC)Xu(apc(kst(au^av^x),':'))Xv(Ay=aCn(vc+xv,1);xv<20?y:apc(y,':'))aCz("???"))
-A1(out,P(x==au,x)dex(v0c(ai(1),xtA&&1<xn?par(jC("\n ",2,ek(xR))):kst(xR)),x))
+ Xq(raz(ek(val(x))))Xr(x=val(x);Ay=_R(xy);cat11(ksw(fir(x)),str(y)))Xw(aCn(&"':/:\\:"[xv%3*2],1+xv/3))P(x==PLH,oC)Xu(apc(kst(au^av^x),':'))Xv(Ay=aCn(vc+xv,1);xv<20?y:apc(y,':'))aCz("???"))
+A1(out,P(x==au,x)mr(v0c(ai(1),xtA&&1<xn?par(jC("\n ",2,ek(xR))):kst(xR)));x)
Q HEX="0123456789abcdef0123456789ABCDEF";A1(hex,XC(Ay=aC(2*xn);C*s=yC;xe(i(xn,*s++=HEX[(UC)xc>>4];*s++=HEX[xc&15])y))pen(x,hex))
A1(unh,XC(P(xn&1,el1(x))S C q[256];I(!q['1'],i(32,q[HEX[i]]=15&i))Ay=aC(xn/2);xe(i(yn,yc=q[xC[2*i]]<<4|q[xC[2*i+1]])y))pen(x,unh))
diff --git a/t/t.k b/t/t.k
index 5d99407e..2ea68734 100644
--- a/t/t.k
+++ b/t/t.k
@@ -31,6 +31,8 @@
(!3 2;!!0;!2 0 5) / ((0 0 1 1 2 2;0 1 0 1 0 1);();(!0;!0;!0))
(1+!0;(!0)+2) / (!0;!0)
3 3 17!'10 -1 23 / 1 2 6
+1 -1_\:`a`b`c!1 2 3 / (`b`c!2 3;`a`b!1 2)
+1 -1{x_y}\:`a`b`c!1 2 3 / (`b`c!2 3;`a`b!1 2)
-3!-7+!15 / -3 -2 -2 -2 -1 -1 -1 0 0 0 1 1 1 2 2
+(1 2 3;4 5 6) / (1 4;2 5;3 6)
+(`a;`b`c) / (`a`b;`a`c)
diff --git a/v.c b/v.c
index 5c482cbf..715c1b66 100644
--- a/v.c
+++ b/v.c
@@ -6,18 +6,18 @@ A1(flp,XM(Ay=kv(&x);am(x,y))Xm(Ay=kv(&x);I(ytT>ytA,y=flp(flp(y)))P(!ytA,et2(x,y)
Ln=cfm(xA,xn);P(n==-1,enl(x))P(n<0,el1(x))Ct=_t(*xA);I(t<tM,i(xn,Ay=xa;B(yt-t,t=0)))E(t=0)Ay=aA(n);P(!t,i(n,Az=aA(xn);j(xn,zA[j]=ii(xA[j],i))ya=sqz(z))x(y))
I w=Tz[t];j(n,Az=yA[j]=an(t,xn);S4(w,i(xn,zb=_B(xa)[j]),i(xn,zh=_H(xa)[j]),i(xn,zi=_I(xa)[j]),i(xn,zl=_L(xa)[j])I(w==4,yA[j]=sqz(mRa(z)))))x(y))
V tilV(V*p,Ln,I w){L*a=p,v=T(0x706050403020100ll,0x3000200010000ll,1ll<<32,0)[w],d=T(0x808080808080808ll,0x4000400040004ll,2ll<<32|2,1)[w];LI(a)i(PD((n-1>>3-w)+1,a),a[i]=v;v+=d)}
-AL(tilL,P(n<0,n-NL?add(az(n),N(tilL(-n))):ed0())P(n>1<<30,ez0())Ax=an(tZ(n-1),n);tilV(xV,n,xt-tB);x)
+AL(tilL,P(n<0,n==(I)n?add(ai(n),N(tilL(-n))):ed0())P(n>1<<30,ez0())Ax=an(tZ(n-1),n);tilV(xV,n,xt-tB);x)
A1(til,Xz(tilL(gl(x)))XZ(K("{x((*a)#&#)'1_a:|*\\|x,1}",x))XmM(x(_R(xx)))Xo(val(x))P(!xtA||xn,et1(x))x)
-A1(whr,Xz(whr(enl(x)))XA(K("{$[`A~@x;(,&#'*'x),,'/x@\\:!0|/#'x:o'x;,&x]}",x))Xm(Ay=kv(&x);idx(x,Nx(whr(y))))XM(et1(x))
+A1(whr,Xz(whr(enl(x)))XA(K("{$[`A~@x;(,&#'*'x),,'/x@\\:!0|/#'x:o'x;,&x]}",x))Xm(Ay=kv(&x);x(x1(Nx(whr(y)))))XM(et1(x))
XZ(I w=xt-tB;Ln=0;i(xn,Lv=iw(x,w,i);n+=v;P(n<0||v<0,ed1(x)))Ct=tZ(xn-!!xn);P(t>tI,ez1(x))Ay=an(t,n);
xe(S4(Tz[t],{B*a=yV;i(xn,j(iw(x,w,i),*a++=i))},{H*a=yV;i(xn,j(iw(x,w,i),*a++=i))},{I*a=yV;i(xn,j(iw(x,w,i),*a++=i))},)y))et1(x))
-A1(rev,Xm(Ay=kv(&x);am(rev(x),rev(y)))XM(Ay=kv(&x);aM(x,Nx(e1f(y,rev))))Xt(x)x=mut(x);Ii=0,j=xn-1,w=xw;W(i<j,I(!w,SWP(xb,xB[j]))J(w==1,SWP(xh,xH[j]))J(w==2,SWP(xi,xI[j]))E(SWP(xl,xL[j]))i++;j--)x)
+A1(rev,Xm(Ay=kv(&x);am(rev(x),rev(y)))XM(Ay=kv(&x);aM(x,Nx(e1f(rev,y))))Xt(x)x=mut(x);Ii=0,j=xn-1,w=xw;W(i<j,I(!w,SWP(xb,xB[j]))J(w==1,SWP(xh,xH[j]))J(w==2,SWP(xi,xI[j]))E(SWP(xl,xL[j]))i++;j--)x)
A1(typ,x(as(TS[xt])))A1(len,x(az(xN)))N _N(Ax/*0*/)_(XT(xn)Xm(_N(xy))XM(_n(xy)?_N(*_A(xy)):1)1)
S A1(cSI,Q(xtS||xtI)Ct=tS^tI^xt;xr-1?x(aV(t,xn,xV)):AT(t,x))
A1(unq,XT(P(xn<2,x)P(xn<<xw<PG&&!xtA,K("{x@&(x?x)=!#x}",x))P(xtB||xtC,C a[256]={};Ay=an(xt,0);i(xn,I(!a[(UI)xc],a[(UI)xc]=1;y=apc(y,xc)))x(y))XS(cSI(unq(cSI(x))))K("{x@i@<i@:&@[;0;:;1]@~~':x@i:<x}",x))
XM(en1(x))Xm(unq(val(x)))Xz(Ln=gl(x);P(n<0,ed0())rndD(n))et1(x))
-A2(fil,YmMA(e2f(x,y,exc))YF(y==au?x:x(y))Yt(fir(fil(x,enl(y))))K("{@[y;&^y;:;x]}",x,y))
-A2(exc,Xt(fil(x,y))P(xtmM||ytmM,en2(x,y))Yt(exc(x,enl(y)))P(!xn||!yn,y(x))Ik=rnk(x);k>0&&k==rnk(y)?K("{x@&^y?x}",x,y):K("{x@&~(!0),x~\\:y}/",x,y))
+A2(fil,/*01*/YmMA(e2f(fil,x,y))YF(y==au?xR:y)Yt(fir(fil(x,enl(y))))K("{@[y;&^y;:;x]}",xR,y))
+A2(exc,/*01*/Xt(fil(x,y))P(xtmM||ytmM,en1(y))Yt(exc(x,enl(y)))P(!xn||!yn,y(xR))Ik=rnk(x);k>0&&k==rnk(y)?K("{x@&^y?x}",xR,y):K("{x@&~(!0),x~\\:y}/",xR,y))
A wdn(Ax,Ni,Nj,Nn)_(Ct=xt;Q(xtZC);Ay=an(t+1,n);xe(T(&cBH,cHI,cIL,cLD,0,cBH)[t-tB](xV+TZ[t]*i,yV,j-i);y))
A1(cC, XC(x)x=N(cB(x));Xt(ac((C)xv))AT(tC,mut(x)))
A1(cB, XB(x)x=N(cI(x));Xt(x)Ay=an(tB,xn);xe(cIB(xV,yV,yn);y))
@@ -29,7 +29,7 @@ A1(cS,XsS(x)XC(x=str0(x);x(sym(xV)))Xc(as(xv))P(xtA&&!xn,x(oS))pen(x,cS))
A1(pI,Xc(pI(enl(x)))XC(x=str0(x);Qs=xV;P(!*s,x(_R(cn[tl])))Lv=pl(&s);x(*s?_R(cn[tl]):az(v)))pen(x,pI))
A1*cT[]={[tA]=cA,cB,cH,cI,cL,cD,cC,cS};
A1(csti,XD(sqzZ(cL(x)))Xd(az(gd(x)))XC(sqzZ(cB(x)))Xc(ai(xv))XzZ(x)et1(x))
-A2(cst,P(xtS||ytmMA,e2f(x,y,cst))Xz(YC(K("{y@(!x)+(x<0)*#y}",x,y))Yc(cst(x,enl(y)))et2(x,y))Xs(Iv=xv;P(v-(C)v,ed1(y))T(&csti,cD,cC,cS,pI,ed1)[si("idcsI",v+'s'*!v)](y))et2(x,y))
+A2(cst,/*01*/P(xtS||ytmMA,e2f(cst,x,y))Xz(YC(K("{y@(!x)+(x<0)*#y}",xR,y))Yc(cst(x,enl(y)))et1(y))Xs(Iv=xv;P(v-(C)v,ed1(y))T(&csti,cD,cC,cS,pI,ed1)[si("idcsI",v+'s'*!v)](y))et1(y))
A1(sqzZ,XH(i(xn,P(xh-(B)xh,x))cB(x))XI(i(xn,P(xi-(H)xi,x))sqzZ(cH(x)))XL(i(xn,P(xl-(I)xl,x))sqzZ(cI(x)))x)
A1(sqz,P(!xtA||!xn,x)Nn=xn;Ay=xx;Ct=yt;Ym(y=oA;i(n,yq(_R(xa)))x(y))P(!c3(ti,t,ts),x)
I(ytz,I l=0;i(n,Ay=xa;I(ytl,l=1)E(P(!yti,x)))I(l,t=tL)E(I a=0,b=0;i(n,Ay=xa;a=min(a,yv);b=max(b,yv))t=max(tZ(a),tZ(b))))E(i(n,P(t-_t(xa),x)))
diff --git a/vim-c/syntax/n.vim b/vim-c/syntax/n.vim
index e1bd1439..8bda5403 100644
--- a/vim-c/syntax/n.vim
+++ b/vim-c/syntax/n.vim
@@ -20,7 +20,7 @@ K n_r return continue
R n_aa g=n_a s="(" e=")" c=@n_x,n_a |M n_a "," contained |H n_a nontext
R n_bb g=n_b s="\[" e="]" c=@n_x,n_b |M n_b "," contained |H n_b n_a
R n_cc g=n_c s="{" e="}" c=@n_x,n_c |M n_c "," contained |H n_c n_a
-R n_pp g=n_p s="\v<(P|E[a-z]|[XY]\w{,4})\(" e=")" c=@n_x,n_p |M n_p "," contained |H n_p function
+R n_pp g=n_p s="\v<(P|E[a-z]|[XYZ]\w{,4})\(" e=")" c=@n_x,n_p |M n_p "," contained |H n_p function
R n_ff g=n_f s="\<\([ijWF]\|i4\)(" e=")" c=@n_x,n_f |M n_f "," contained |H n_f special
R n_ii g=n_i s="\<\([IJEBUCD]\|C\d\)(" e=")" c=@n_x,n_i |M n_i "," contained |H n_i type
R n_vv g=n_v s="(\(\w\| \)*," e=")" c=@n_x contained |H n_v statement
diff --git a/w.c b/w.c
index e794a8bf..2f4854f1 100644
--- a/w.c
+++ b/w.c
@@ -1,77 +1,76 @@
#include"a.h" // ngn/k, (c) 2019-2022 ngn, GNU AGPLv3 - https://codeberg.org/ngn/k/raw/branch/master/LICENSE
-SN A2(enc,/*01*/P(!xtzZ,en1(y))P(x==ai(2)&&ytz&&gl_(y)<0,x=rsh(64,xR);x(enc(x,y)))Ii=ytt;x=K("{$[0>&/x;`err\"domain\"; `i~@x;|x!-1_![-x;]\\y; x!'|(,y),y{(-y)!x}\\|1_x]}",xR,y);!x||xN?x:x(i?oB:oA))
+SN A2(enc,/*01*/P(!xtzZ,en1(y))P(x==ai(2)&&ytz&&gl_(y)<0,x=rsh(64,xR);x(enc(x,y)))
+ Ii=ytt;x=K("{$[0>&/x;`err\"domain\"; `i~@x;|x!-1_![-x;]\\y; x!'|(,y),y{(-y)!x}\\|1_x]}",xR,y);!x||xN?x:x(i?oB:oA))
SN A2(dec,/*01*/K("{z+x*y}/[0;;]",xR,y))
-SN ALA(win,P(n<0,ed1(x))K("{[n;x]x(!n)+/:!0|1-n-#x}",az(n),x))
-SN A scC(Cc ,C*p,Ln)_( Ax=oA;C*q;W((q=MC(p,c,n )),xq(aCm(p,q));n-=q-p+1;p=q+1)I(n||c-10&&xn,xq(aCn(p,n)))x) SN A sc(Cc ,Ax)_(XC(x(scC(c, xV,xn)))et1(x))A1(spl,sc(10,x))
-SN A sCC(C*s,Lm,C*p,Ln)_(P(!m,el0())Ax=oA;C*q;W((q=MM(p,n,s,m)),xq(aCm(p,q));n-=q+m-p;p=q+m)I(n|| xn,xq(aCn(p,n)))x) SN A sC(C*s,Lm,Ax)_(XC(x(sCC(s,m,xV,xn)))et1(x))
+SN A scC(Cc ,C*p,Ln)_( Ax=oA;C*q;W((q=MC(p,c,n )),xq(aCm(p,q));n-=q-p+1;p=q+1)I(n||c-10&&xn,xq(aCn(p,n)))x)SN A sc(Cc ,Ax)_(XC(x(scC(c, xV,xn)))et1(x))A1(spl,sc(10,x))
+SN A sCC(C*s,Lm,C*p,Ln)_(P(!m,el0())Ax=oA;C*q;W((q=MM(p,n,s,m)),xq(aCm(p,q));n-=q+m-p;p=q+m)I(n|| xn,xq(aCn(p,n)))x)SN A sC(C*s,Lm,Ax)_(XC(x(sCC(s,m,xV,xn)))et1(x))
SN L jN(Lm,Ax/*0*/)_(P(!xtA,-1)Ln=(xn-!!xn)*m;i(xn,Ay=xa;P(!ytcC,-1)n+=yN)n)//total length or -1
A jc(Cc, Ax)_(XC(jc(c, flp(flp(x))))Ln=jN(1,x);P(n<0,et1(x))Ay=aC(n);C*p=yV;i(xn,I(i,*p++=c )Az=xa;I(ztc,*p++=zv)E(Mc(p,zV,zn);p+=zn))x(y))
A jC(Qs,Nm,Ax)_(XC(jC(s,m,flp(flp(x))))Ln=jN(m,x);P(n<0,et1(x))Ay=aC(n);C*p=yV;i(xn,I(i,Mc(p,s,m);p+=m)Az=xa;I(ztc,*p++=zv)E(Mc(p,zV,zn);p+=zn))x(y))
L cfm(OA*a/*0*/,In)_(Lm=-1;i(n,Ax=a[i];I(!xtt,Lv=xN;P(m>=0&&m-v,-2)m=v))m)
-S A o1f(Ax,A1 f/*0f*/)_(f==len?oB:f==til||f==str?oA:xR)S A2(o1,/*00*/ytu?o1f(x,v1[yv]):oA)
-S A o2f(Ax,Ay,A2 f/*00f*/)_(f==bng?oB:oA) S A3(o2,/*000*/ztv?o2f(x,y,v2[zv]):oA)
-SN AX(em,Az=oS;Ik=0;i(n,Ay=a[i];I(ytm,k++;z=cat(z,_R(yx))))I(k>1,z=unq(z))Ab8;i(n,Ay=b[i]=a[i];I(ytm,Au=kv(&y);uq(id_(x,u));b[i]=ap1(u,fil(ai(yn),fnd(y,zR)))))AX e8;x=e8(x,b,n);P(!x,z(x))dct(z,x))
-A e1f(Ax,A1 f)_(Xt(f(x))Xm(Ay=kv(&x);am(x,Nx(e1f(y,f))))I b=xtA&&xr==1;Nn=xN;P(!n,x(o1f(x,f)))Ay=oA;i(n,Az=f(b?xa:ii(x,i));B(!z,I(b,mrn(xn-i-1,xA+i+1))y=y(0))yq(z))I(b,x=AN(0,x))x(y))
-SN A2(e1,/*10*/Yu(e1f(x,v1[yv]))Xt(y1(x))Xm(em(y,&x,1))Nm=xN;P(!m,x(o1(x,y)))P(xtA&&xr==1,x=AN(0,x);Au=oB;i(m,Az=y1(xa );B(!z,u=u(0);mrn(m-i-1,xA+i+1))uq(z))x(u))
- Au=oB;i(m,Az=y1(ii(x,i));B(!z,u=u(0) )uq(z))x(u))
-SN A l2f(Ax,Ay,A2 f/*11f*/)_( Xt( f(x,y))Xm(Az=kv(&x);am(x,Nx(l2f(z,y,f))))Nn=xN;P(!n,x(y(o2f(x,y,f))))Au=oA;i(xN,A v= f(ii(x,i),yR);B(!v,u=u(0))uq(v))x(y(u)))
-SN A r2f(Ax,Ay,A2 f/*11f*/)_( Yt( f(x,y))Ym(Az=kv(&y);am(y,Ny(r2f(x,z,f))))Nn=yN;P(!n,x(y(o2f(x,y,f))))Au=oA;i(yN,A v= f(xR,ii(y,i));B(!v,u=u(0))uq(v))x(y(u)))
-SN A3(l2,/*110*/P(ztv,l2f(x,y,v2[zv]))Xt(z2(x,y))Xm(z=prj(z,A(PLH,y),2);z(e1(x,z)))Nn=xN;P(!n,x(y(o2 (x,y,z))))Au=oA;i(xN,A v=z2(ii(x,i),yR);B(!v,u=u(0))uq(v))x(y(u)))
-NI A3(r2,/*110*/P(ztv,r2f(x,y,v2[zv]))Yt(z2(x,y))Ym(z=prj(z,A(x,PLH),2);z(e1(y,z)))Nn=yN;P(!n,x(y(o2 (x,y,z))))Au=oA;i(yN,A v=z2(xR,ii(y,i));B(!v,u=u(0))uq(v))x(y(u)))
-SN AX(l8,Ab8;Mc(b,a,8*n);*b=PLH;x=prj(x,b,n);x(e1(*a,x)))
-SN A3(e2,/*110*/P(ztv,e2f(x,y,v2[zv]))Xt(r2(x,y,z))Yt(l2(x,y,z))P(xtm||ytm,em(z,A(x,y),2))Nm=xN;P(m-yN,el2(x,y))P(!m,y(ztv&&zv<11?x:x(oA)))Au=0;Ct=xtA&&xr==1,s=ytA&&yr==1;
- i(m,A v=z2(t?xa:ii(x,i),s?ya:ii(y,i));B(!v,I(u,u=u(0))I(t,mrn(m-i-1,xA+i+1))I(s,mrn(m-i-1,yA+i+1)))I(!u,u=v?AN(0,an(c3(ti,_t(v),ts)?TT[_t(v)]:tA,m)):0)uq(v))
- mr(t?AN(0,x):x);mr(s?AN(0,y):y);u)
-AX(e8,P(n==1,e1(*a,x))P(n==2,e2(*a,a[1],x))Ab8;Ct[8];Lm=-1;i(n,Ay=b[i]=a[i];Ym(em(x,a,n))t[i]=ytP?0:ytt?1:ytA?2+(yr>1):4;I(t[i]>1,L l=yN;P(m>=0&&m-l,el8(a,n))m=l))
+S A o1f(A1 f,Ax/*f0*/)_(f==len?oB:f==til||f==str?oA:xR)S A2(o1,/*00*/xtu?o1f(v1[xv],y):oA)
+S A o2f(A2 f,Ax,Ay/*f00*/)_(f==bng?oB:oA) S A3(o2,/*000*/xtv?o2f(v2[xv],y,z):oA)
+SN AX(em,Az=oS;Ik=0;i(n,Ay=a[i];I(ytm,k++;z=cat11(z,_R(yx))))I(k>1,z=unq(z))Ab8;i(n,Ay=b[i]=a[i];I(ytm,Au=kv(&y);uq(ide(x,u));b[i]=u(u1(y(fil(ai(yn),fnd(y,zR)))))))AX e8;x=e8(x,b,n);P(!x,z(x))z(dct(z,x)))
+A e1f(A1 f,Ax)_(Xt(f(x))Xm(Ay=kv(&x);am(x,Nx(e1f(f,y))))I b=xtA&&xr==1;Nn=xN;P(!n,x(o1f(f,x)))Ay=oA;i(n,Az=f(b?xa:ii(x,i));B(!z,I(b,mrn(xn-i-1,xA+i+1))y=y(0))yq(z))I(b,x=AN(0,x))x(y))
+SN A2(e1,/*01*/ Xu(e1f(v1[xv],y))Yt(x1(y))Ym(em(x,&y,1))Nm=yN;P(!m,y(o1(x,y)))P(ytA&&yr==1,y=AN(0,y);Au=oB;i(m,Az=x1(ya);B(!z,u=u(0);mrn(m-i-1,yA+i+1))uq(z))y(u))
+ Au=oB;i(m,Az=x1(ii(y,i));B(!z,u=u(0))uq(z))y(u))
+A l2f(A2 f,Ax,Ay/*f01*/)_(Xt(f(x,y))Xm(Az=N(l2f(f,xy,y));am(_R(xx),z))Nn=xN;P(!n,y(o2f(f,x,y)))Au=oA;i(xN,A w=ii(x,i),v=f(w,yR);mr(w);B(!v,u=u(0))uq(v))y(u))
+SN A r2f(A2 f,Ax,Ay/*f01*/)_(Yt(f(x,y))Ym(Az=Ny(r2f(f,x,_R(yx)));y(am(_R(yx),z)))Nn=yN;P(!n,y(o2f(f,x,y)))Au=oA;i(yN,A v=f(x,ii(y,i));B(!v,u=u(0))uq(v))y(u))
+SN A3(l2,/*001*/Xv(l2f(v2[xv],y,z))Yt(y(x2(y,z)))Ym(x=prj(x,A(PLH,z),2);x(e1(x,yR)))Nn=yN;P(!n,z(o2(x,y,z)))Au=oA;i(yN,A w=ii(y,i),v=x2(w,zR);mr(w);B(!v,u=u(0))uq(v))z(u))
+NI A3(r2,/*001*/ Xv(r2f(v2[xv],y,z))Zt(y(x2(y,z)))Zm(x=prj(x,A(yR,PLH),2);x(e1(x,z)))Nn=zN;P(!n,z(o2(x,y,z)))Au=oA;i(zN,A v=x2(y,ii(z,i));B(!v,u=u(0))uq(v))z(u))
+SN AX(l8,Ab8;Mc(b,a,8*n);*b=PLH;x=prj(x,b,n);x(e1(x,*a)))
+SN A3(e2,/*001*/P(xtv,e2f(v2[xv],y,z))Yt(r2(x,y,z))Zt(l2(x,y,z))P(ytm||ztm,y(em(x,A(yR,z),2)))Nm=yN;P(m-zN,el1(z))P(!m,z(xtv&&xv<11?yR:oA))
+ Au=0;Ct=ztA&&zr==1;i(m,A w=ii(y,i),v=x2(w,t?za:ii(z,i));mr(w);B(!v,I(u,u=u(0))I(t,mrn(m-i-1,zA+i+1)))I(!u,u=v?AN(0,an(c3(ti,_t(v),ts)?TT[_t(v)]:tA,m)):0)uq(v))mr(t?AN(0,z):z);u)
+AX(e8,P(n==1,e1(x,*a))P(n==2,Ay=*a;y(e2(x,y,a[1])))Ab8;Ct[8];Lm=-1;i(n,Ay=b[i]=a[i];Ym(em(x,a,n))t[i]=ytP?0:ytt?1:ytA?2+(yr>1):4;I(t[i]>1,L l=yN;P(m>=0&&m-l,el8(a,n))m=l))
P(m<0,x8(a,n))i(n,I(t[i]==1,_r(a[i])+=m))Au=0;I(!m,u=x==LEN?oB:n==2&&xtv&&xv<11?_R(a[!_N(a[1])]):oA)//t[i] 0:pkdatm,1:refatm,2:tA(r=1),3:tA,4:other
j(m,i(n,Ay=a[i];I(t[i]==2,b[i]=yA[j])I(t[i]>2,b[i]=ii(y,j)))Az=x8(b,n);B(!z,I(u,u=u(0))i(n,Ay=a[i];I(t[i]==1,yr-=m-j-1)I(t[i]==2,mrn(m-j-1,yA+j+1))))I(!j,u=c3(ti,zt,ts)?AN(0,an(TT[zt],m)):oA)uq(z))
i(n,mr(t[i]-2?a[i]:AN(0,a[i])))u)
S I arf2(A2 f)_((SZ(V*)-8?fI:fL)(v2+1,10,(L)f)!=NL)
-A e2f(Ax,Ay,A2 f)_(Ik=2*xtt+ytt;P(k==3,f(x,y))
- P(xtm||ytm,P(xtm>ytm,Az=kv(&x);am(x,Nx(e2f(z,y,f))))P(xtm<ytm,Az=kv(&y);am(y,Ny(e2f(x,z,f))))
- Az=unq(cat(_R(xx),_R(yx)));x=ap1(x,zR);y=ap1(y,zR);I(arf2(f),Au=az(f==mul||f==dvd);x=fil(u,x);y=fil(u,y))am(z,Nz(e2f(x,y,f))))
- P(!k&&xN-yN,el2(x,y))
- Nn=k<2?xN:yN;Az=o2f(x,y,f);i(n,Au=f(ii(x,i),ii(y,i));B(!u,z=z(0))zq(u))x(y(z)))
-SN A2(cs,/*01*/Az=yR,v=yR,u=enl(y);W(1,z=yR;y=x1(y);P(!y,z(u(dex(v,0))))Im=mtc_(y,z)||mtc_(y,v);z(0);B(m)uq(yR))y(dex(v,u)))
+A e2f(A2 f,Ax,Ay/*f01*/)_(Ik=2*xtt+ytt;P(k==3,f(x,y))
+ P(xtm||ytm,P(xtm>ytm,Az=N(e2f(f,xy,y));am(_R(xx),z))P(xtm<ytm,Az=Ny(e2f(f,x,_R(yy)));y(am(_R(yx),z)))
+ Az=unq(cat(xx,_R(yx)));x=x1(zR);y=y(y1(zR));I(arf2(f),Au=ai(f==mul||f==dvd);x=fil(u,x);y=fil(u,y))am(z,Nz(x(e2f(f,x,y)))))
+ P(!k&&xN-yN,el1(y))
+ Nn=k<2?xN:yN;Az=o2f(f,x,y);i(n,A v=ii(x,i);Au=f(v,ii(y,i));mr(v);B(!u,z=z(0))zq(u))y(z))
+SN A2(cs,/*01*/Az=yR,v=yR,u=enl(y);W(1,z=yR;y=x1(y);P(!y,mr(v);z(u(0)))Im=mtc_(y,z)||mtc_(y,v);z(0);B(m)uq(yR))mr(v);y(u))
SN A2(cf,/*01*/Az=yR,u;W(1,zR;u=x1(z);B(!u)P(mtc_(u,y)||mtc_(u,z),y(u(z)))z=z(u))y(z(u)))
-SN A w3(Ax,Ay,Az,Au/*011*/)_(W(1,A w=y1(zR);B(!w,u?u=u(0):(z=z(0)))B(!tru(w))z=x1(z);P(!z,y(u?u(0):0))I(u,uq(zR)))u?y(z(u)):y(z))
-SN A3(ws,/*011*/w3(x,y,z,enl(zR)))
-SN A3(wf,/*011*/w3(x,y,z,0))
-SN A n3(Ax,Lm,Ay,Az/*0m11*/)_(i(m,I(z,zq(yR))y=x1(y);B(!y))z?y?zq(y):z(y):y)
-SN A ns(Ax,Lm,Ay/*0m1*/)_(n3(x,m,y,oA))
-SN A nf(Ax,Lm,Ay/*0m1*/)_(n3(x,m,y,0))
+SN A ns(Ax,Lm,Ay/*0m1*/)_(Az=oA;i(m,zq(yR);y=x1(y);B(!y))y?zq(y):z(y))
+SN A nf(Ax,Lm,Ay/*0m1*/)_(Az=0;i(m,y=x1(y);B(!y))y)
+SN A3(ws,/*001*/Au=enl(zR);W(1,A w=y1(zR);B(!w,u=u(0))B(!tru(w))z=x1(z);P(!z,u(0))uq(zR))z(u))
+SN A3(wf,/*001*/Au=0;W(1,A w=y1(zR);B(!w,z=z(0))B(!tru(w))z=x1(z);P(!z,0))z)
SN A nS(Ax,Lm,OA*a,Nn/*0m1n*/)_(P(n==1,ns(x,m,*a))m=max(0,m);Az=aA(n+m),*b=zV;zn=n;Mc(b,a,8*n);i(m,mRn(n,b);b[n]=Nz(x8(b,n));zn++;b++)sqz(z))
+SN A wS(Ax,Ay,OA*a,Nn/*001n*/)_(P(n==1,ws(x,y,*a))Ab8;Mc(b,a,8*n);mRn(n,b);Az=sqz(aV(tA,n,b));
+ W(1,Au=y1(ii(z,zn-1));B(!u,z=z(0))B(!tru(u))mRn(n-1,b+1);u=x8(b,n);B(!u,*b=au;z=z(0))Mm(b,b+1,8*n-8);b[n-1]=u;zq(uR))mrn(n,b);z)
SN A nF(Ax,Lm,OA*a,Nn/*0m1n*/)_(P(n==1,nf(x,m,*a))las(N(nS(x,m,a,n))))
-SN A wS(Ax,Ay,OA*a,Nn/*0m1n*/)_(P(n==1,ws(x,y,*a))Ab8;Mc(b,a,8*n);mRn(n,b);Az=sqz(aV(tA,n,b));
- W(1,Au=y1(ii(z,zn-1));B(!u,z=z(0))B(!tru(u))mRn(n-1,b+1);u=x8(b,n);B(!u,*b=au;z=z(0))Mm(b,b+1,8*n-8);b[n-1]=u;zq(uR))mrn(n,b);y(z))
-SN A wF(Ax,Ay,OA*a,Nn/*011n*/)_(P(n==1,wf(x,y,*a))las(N(wS(x,y,a,n))))
-SN A3(nws2,/*011*/Yz(ns(x,gl(y),z))YF(ws(x,y,z))et2(y,z))
-SN A3(nwf2,/*011*/Yz(nf(x,gl(y),z))YF(wf(x,y,z))et2(y,z))
-SN AX(nws,Ay=*a;P(n==2,nws2(x,y,a[1]))Yz(nS(x,gl(y),a+1,n-1))YF(wS(x,y,a+1,n-1))et8(a,n))
-SN AX(nwf,Ay=*a;P(n==2,nwf2(x,y,a[1]))Yz(nF(x,gl(y),a+1,n-1))YF(wF(x,y,a+1,n-1))et8(a,n))
-SN A3(f2,/*110*/Yt(z2(x,y))P(ztv&&zv<11&&xtzdc&&ytZDC,arf(x,y,z))i(yN,x=z2(x,ii(y,i));B(!x))y(x))
-A2(f1,/*10*/Xt(x)P(ytv&&yv<11&&xtZDC,arf(0,x,y))P(!xN,x(id_(y,x)))Az=ii(x,0);i(xN-1,z=y2(z,ii(x,i+1));B(!z))x(z))
-AX(f8,P(n==1,f1(*a,x))P(n==2,f2(*a,a[1],x))n--;Ay=*a++,z=*a;Lm=cfm(a,n);P(m==-1,y?x8(a-1,n+1):z)P(m<0,I(y,y(0))el8(a,n))P(!m&&!y,x=id_(x,z);mrn(n,a);x)
+SN A wF(Ax,Ay,OA*a,Nn/*001n*/)_(P(n==1,wf(x,y,*a))las(N(wS(x,y,a,n))))
+SN A3(nws2,/*001*/Yz(ns(x,gl_(y),z))YF(ws(x,y,z))et1(z))
+SN A3(nwf2,/*001*/Yz(nf(x,gl_(y),z))YF(wf(x,y,z))et1(z))
+SN AX(nws,Ay=*a;P(n==2,y(nws2(x,y,a[1])))Yz(nS(x,gl(y),a+1,n-1))YF(y(wS(x,y,a+1,n-1)))et8(a,n))
+SN AX(nwf,Ay=*a;P(n==2,y(nwf2(x,y,a[1])))Yz(nF(x,gl(y),a+1,n-1))YF(y(wF(x,y,a+1,n-1)))et8(a,n))
+SN A2(raz,/*01*/xR;i(yN,x=cat11(x,ii(y,i)))y(x))
+A2(f1,/*01*/Yt(y)P(xtv&&xv<11&&ytZDC,arf(x,0,y))P(!yN,y(ide(x,y)))P(x==CAT,Au=rsh(0,ii(y,0));u(raz(u,y)))Az=ii(y,0);i(yN-1,z=z(x2(z,ii(y,i+1)));B(!z))y(z))
+SN A3(f2,/*001*/Zt(x2(y,z))P(xtv&&xv<11&&ytzdc&&ztZDC,arf(x,y,z))P(x==CAT,raz(y,z))yR;i(zN,y=y(x2(y,ii(z,i)));B(!y))z(y))
+AX(f8,P(n==1,f1(x,*a))P(n==2,Ay=*a;y(f2(x,y,a[1])))n--;Ay=*a++,z=*a;Lm=cfm(a,n);P(m==-1,y?x8(a-1,n+1):z)P(m<0,I(y,y(0))el8(a,n))P(!m&&!y,x=ide(x,z);mrn(n,a);x)
Li=!y;I(i,y=ii(z,0))Ab8;W(i<m,*b=y;j(n,b[j+1]=ii(a[j],i))y=x8(b,n+1);B(!y)i++)mrn(n-1,a+1);z(y))
-SN A3(s2,/*110*/Yt(z2(x,y))Ym(Au=kv(&y);am(y,Ny(s2(x,u,z))))P(!yN,x(y))P(ztv&&zv<11&&xtzc&&ytZC,ars(x,y,z))Au=oA;i(yN,x=z2(x,ii(y,i));P(!x,y(u(0)))uq(xR))x(y(u)))
-SN A2(s1,/*10*/Xt(x)P(!xN,x)Xm(Az=kv(&x);am(x,Nx(s1(z,y))))P(y==CAT,s2(oA,x,y))P(ytv&&yv<11&&xtZC,ars(0,x,y))Ni=0,n=xN;Az=ii(x,0),u=enl(zR);W(++i<n,z=N(y2(z,ii(x,i)));uq(zR))z(x(u)))
-SN AX(s8,P(n==1,s1(*a,x))P(n==2,s2(*a,a[1],x))Ay=*a++;n--;Lm=cfm(a,n);P(m==-2,y(el8(a,n)))Az=oA;Ab8;i(m,*b=y;j(n,b[j+1]=ii(a[j],i))y=x8(b,n+1);P(!y,mrn(n,a);z(0))zq(yR))mrn(n,a);y(z))
-SN A3(p2,/*110*/Ym(Au=kv(&y);am(y,Ny(p2(x,u,z))))Yt(et2(x,y))P(!yN,x(y))P(ztv&&zv<11&&xtzc&&ytZC,arp(x,y,z))Au=oA;i(yN,x=z2(ii(y,i),x);P(!x,y(u(0)))uq(x);x=ii(y,i))x(y(u)))
-SN A2(p1,/*10*/p2(id_(y,x),x,y))
-SN A3(ste,/*110*/K("{z'x':y}",x,y,zR))
-SN A2 bin,binD;
+SN A3(s2,/*001*/Zt(x2(y,z))Zm(Au=kv(&z);am(z,Nz(s2(x,y,u))))yR;P(!zN,y(z))P(xtv&&xv<11&&ytzc&&ztZC,y(ars(x,y,z)))Au=oA;i(zN,y=y(x2(y,ii(z,i)));P(!y,z(u(0)))uq(yR))y(z(u)))
+SN A2(s1,/*01*/Yt(y)P(!yN,y)Ym(Az=kv(&y);am(y,Ny(s1(x,z))))P(x==CAT,s2(x,ce[tA],y))P(xtv&&xv<11&&ytZC,ars(x,0,y))Ni=0,n=yN;Az=ii(y,0),u=enl(zR);W(++i<n,z=N(z(x2(z,ii(y,i))));uq(zR))z(y(u)))
+SN AX(s8,P(n==1,s1(x,*a))P(n==2,Ay=*a;y(s2(x,y,a[1])))Ay=*a++;n--;Lm=cfm(a,n);P(m==-2,y(el8(a,n)))Az=oA;Ab8;i(m,*b=y;j(n,b[j+1]=ii(a[j],i))y=x8(b,n+1);P(!y,mrn(n,a);z(0))zq(yR))mrn(n,a);y(z))
+SN A3(p2,/*001*/Zm(Au=kv(&z);am(z,Nz(p2(x,y,u))))Zt(et1(z))P(!zN,z)P(xtv&&xv<11&&ytzc&&ztZC,arp(x,y,z))yR;Au=oA;i(zN,A v=ii(z,i);y=x2(v,y);mr(v);P(!y,z(u(0)))uq(y);y=ii(z,i))y(z(u)))
+SN A2(p1,/*01*/Az=ide(x,y);z(p2(x,z,y)))
+SN ALA(win,P(n<0,ed1(x))K("{[n;x]x(!n)+/:!0|1-n-#x}",az(n),x))
+SN A3(ste,/*001*/Yz(e1(x,N(win(gl_(y),z))))et1(z))
+SN A2 binD;
SN A2(binZ,/*01*/Q(xtZC)
YZC(P(xn-(I)xn,ez1(y))I wx=xw,wy=yw;P(!wx,wy?K("{@[x'`c$127&y;&-128>y;:;-1]}",xR,y):K("{(-1+\\@[&256;128+x;+;1])128+y}",xR,y))Az=an(tZ(xn-1),yn);I wz=zw,k[2];
i(yn,Lv;S4(wy,v=yb,v=yh,v=yi,v=yl)*k=-1;k[1]=xn;S4(wx,,W(*k+1<k[1],Ii=*k+k[1]>>1;k[v<xh]=i),
W(*k+1<k[1],Ii=*k+k[1]>>1;k[v<xi]=i),
W(*k+1<k[1],Ii=*k+k[1]>>1;k[v<xl]=i))S4(wz,zb=*k,zh=*k,zi=*k,zl=*k))y(z))
- Yt(fir(bin(x,enl(y))))YmMA(K("{x''y}",xR,y))YD(x=x(cD(xR));binD(x,y))ed1(y))
-SN A2(binD,/*01*/Q(xtD)YD(x=ofp(xR);x(binZ(x,ofp(y))))YZC(binD(x,N(cD(y))))Yt(fir(bin(x,enl(y))))YmMA(K("{x''y}",xR,y))ed1(y))
+ Yt(fir(binZ(x,enl(y))))YmMA(r2f(binZ,x,y))YD(x=x(cD(xR));binD(x,y))ed1(y))
+SN A2(binD,/*01*/Q(xtD)YD(x=ofp(xR);x(binZ(x,ofp(y))))YZC(binD(x,N(cD(y))))Yt(fir(binD(x,enl(y))))YmMA(r2f(binD,x,y))ed1(y))
SN A2(bin,/*01*/ XZC(binZ(x,y))XD(binD(x,y))Xm(_1(xx,bin(xy,y)))et1(y))
-AX(adv,Q(xtr)Ii=xE;x=xx;Ik=xK;SW(i,
- CR(0,P(n==1,Xt(e1(*a,x))bin(x,*a))e8(x,a,n))
- CR(1,P(n==1,Ay=*a;P(xtzZ||xtdD,dec(x,y))Xc(jc(xv,y))XC(jC(xV,xn,y))P(k<2,cf(x,y))f1(y,x))P(k<2,nwf(x,a,n))P(n-k==1,nwf(x,a,n))f8(x,a,n))
- CR(2,P(n==1,Ay=*a;P(xtzZ||xtdD,enc(x,y))Xc(sc(xv,y))XC(sC(xV,xn,y))P(k<2,cs(x,y))s1(y,x))P(k<2,nws(x,a,n))P(n-k==1,nws(x,a,n))s8(x,a,n))
- CR(3,n==1?xtz?win(gl(x),*a):p1(*a,x):n==2?k==1?ste(*a,a[1],x):p2(*a,a[1],x):er8(a,n))
- CR(4,P(n==2,r2(*a,a[1],x))er8(a,n))
- CR(5,P(n==2,l2(*a,a[1],x))l8(x,a,n)))er8(a,n))
+AX(adv,Q(xtr)Ii=xE;x=xx;Ik=xK;Ay=*a;SW(i,
+ CR(0,P(n==1,Xt(e1(x,y))bin(x,y))e8(x,a,n))
+ CR(1,P(n==1,P(xtzZ||xtdD,dec(x,y))Xc(jc(xv,y))XC(jC(xV,xn,y))P(k<2,cf(x,y))f1(x,y))P(k<2,nwf(x,a,n))P(n-k==1,nwf(x,a,n))f8(x,a,n))
+ CR(2,P(n==1,P(xtzZ||xtdD,enc(x,y))Xc(sc(xv,y))XC(sC(xV,xn,y))P(k<2,cs(x,y))s1(x,y))P(k<2,nws(x,a,n))P(n-k==1,nws(x,a,n))s8(x,a,n))
+ CR(3,n==1?xtz?win(gl(x),y):p1(x,y):n==2?k==1?y(ste(x,y,a[1])):y(p2(x,y,a[1])):er8(a,n))
+ CR(4,P(n==2,y(r2(x,y,a[1])))er8(a,n))
+ CR(5,P(n==2,y(l2(x,y,a[1])))l8(x,a,n)))er8(a,n))
diff --git a/x.c b/x.c
index 38d37c5e..d3244919 100644
--- a/x.c
+++ b/x.c
@@ -2,7 +2,7 @@
//serialize
S A ff(Lv,Ay)_(cts(y,(V*)&v,8))
-S A2(f,y=Nx(apc(y,xt));
+S A2(f,/*11*/y=Nx(apc(y,xt));
P(xtA||xtS,y=Nx(ff(xn,y));i(xn,y=Nx(f(ii(x,i),y)))x(y))
XmMA(f(AT(tA,mut(x)),y))
Xs(Lv=xv;Qs=qs(&v);In=Sn(s)+1;y=Nx(apc(y,n));cts(y,s,n))