#ifdef __cplusplus
extern"C"{
#endif
#ifdef __cplusplus
}
#endif
#include"compile_to_c.h"
#ifdef __cplusplus
extern"C"{
#endif
T0*Zvl2=Zo;T0*Zwl2(T0*a1,T0*a2){T0*R=Zo;T2 Zet=0;T3 ZXw=0;ZWw((T7*)(Zvl2),a1);Zet=ZGs(1);while(!((Z3)((Zet)>(((((T7*)a2))->Zdc))))){ZXw=(((((T7*)a2))->ZUb))[(Zet)-(ZGs(1))];
if(ZHs(ZXw)){Zgt((T7*)(Zvl2),ZXw);}else{ZFt(ZDs(ZXw),Zvl2);}Zet=(Z3)(((Zet))+(ZGs(1)));}R=ZCG(Zvl2);return R;}T0*Zxl2(T0*a1){T0*R=Zo;
R=Zwl2(Zyl2,a1);return R;}T0*Zzl2(void){if(ZeP==0){ZeP=1;{{T38*n=((T38*)Zh(sizeof(*n)));*n=M38;ZdP=((T0*)n);}}}return ZdP;}void ZUH(T0*a1){
ZAl2(ZBl2(),a1,a1);}T0*ZCG(T0*a1){T0*R=Zo;R=ZCl2(ZBl2(),a1);if((R)==((void*)(Zo))){R=Z7t(((T7*)a1));ZUH(R);}return R;}void ZDl2(T0*a1){
ZEl2(ZBl2(),a1);ZRx(((T7*)a1));ZAl2(ZBl2(),a1,a1);}T0*ZFl2(T0*a1){T0*R=Zo;R=Zwl2(ZGl2,a1);return R;}T0*ZHl2=Zo;int ZIl2=0;T0*ZBl2(void){
if(ZIl2==0){ZIl2=1;{{T32*n=((T32*)Zh(sizeof(*n)));*n=M32;ZHl2=((T0*)n);ZFE(n,(T2)(Zxt(16384)));}}}return ZHl2;}
#ifdef __cplusplus
}
#endif

