(function(g){function e(a,b){var c;for(c=-1;;)switch(c){case -1:var d,e,f,g;d=a;e=b;c=HEAP[h]==0?1:3;break;case 1:c=_PyString_FromString(j);HEAP[h]=c;c=HEAP[h]==0?2:3;break;case 2:f=-1;c=8;break;case 3:c=_PyObject_HasAttr(d,HEAP[h])!=0?4:5;break;case 4:f=_PyObject_RichCompareBool(d,e,0);c=8;break;case 5:g=_PyObject_RichCompareBool(e,d,1);c=g!=-1?6:7;break;case 6:g=1-g;c=7;break;case 7:f=g;c=8;break;case 8:return d=f;default:assert(0,"bad label: "+
c)}}function b(a,b,c){var d;for(d=-1;;)switch(d){case -1:var f,g,h,j,o,p,q,r;f=a;g=b;h=c;d=(HEAP[HEAP[f+4]+84]&33554432)==0?1:2;break;case 1:throw ___assert_fail(k,l,42,m),"Reached an unreachable!";case 2:d=HEAP[f+8]<=h?3:4;break;case 3:_PyErr_SetString(HEAP[_PyExc_IndexError],n);j=-1;d=17;break;case 4:o=HEAP[HEAP[f+12]+4*h];HEAP[o]+=1;d=13;break;case 5:r=h-1>>1;p=HEAP[HEAP[f+12]+4*r];q=e(o,p);d=q==-1?6:9;break;case 6:HEAP[o]-=1;d=HEAP[o]==0?7:8;break;case 7:FUNCTION_TABLE[HEAP[HEAP[o+4]+24]](o);
d=8;break;case 8:j=-1;d=17;break;case 9:d=q==0?14:10;break;case 10:HEAP[p]+=1;d=HEAP[HEAP[f+12]+4*h];HEAP[d]-=1;d=HEAP[d]==0?11:12;break;case 11:FUNCTION_TABLE[HEAP[HEAP[HEAP[HEAP[f+12]+4*h]+4]+24]](HEAP[HEAP[f+12]+4*h]);d=12;break;case 12:HEAP[HEAP[f+12]+4*h]=p;h=r;d=13;break;case 13:d=h>g?5:14;break;case 14:d=HEAP[HEAP[f+12]+4*h];HEAP[d]-=1;d=HEAP[d]==0?15:16;break;case 15:FUNCTION_TABLE[HEAP[HEAP[HEAP[HEAP[f+12]+4*h]+4]+24]](HEAP[HEAP[f+12]+4*h]);d=16;break;case 16:HEAP[HEAP[f+12]+4*h]=o;j=0;d=
17;break;case 17:return a=j;default:assert(0,"bad label: "+d)}}function a(a,c){var d;for(d=-1;;)switch(d){case -1:var f,g,h,j,m,p,q,r,s,t;f=a;g=c;d=(HEAP[HEAP[f+4]+84]&33554432)==0?1:2;break;case 1:throw ___assert_fail(k,l,79,o),"Reached an unreachable!";case 2:m=HEAP[f+8];j=g;d=g>=m?3:4;break;case 3:_PyErr_SetString(HEAP[_PyExc_IndexError],n);h=-1;d=19;break;case 4:s=HEAP[HEAP[f+12]+4*g];HEAP[s]+=1;p=g*2+1;d=15;break;case 5:q=p+1;d=q<m?6:12;break;case 6:r=e(HEAP[HEAP[f+12]+4*p],HEAP[HEAP[f+12]+4*
q]);d=r==-1?7:10;break;case 7:HEAP[s]-=1;d=HEAP[s]==0?8:9;break;case 8:FUNCTION_TABLE[HEAP[HEAP[s+4]+24]](s);d=9;break;case 9:h=-1;d=19;break;case 10:d=r==0?11:12;break;case 11:p=q;d=12;break;case 12:t=HEAP[HEAP[f+12]+4*p];HEAP[t]+=1;d=HEAP[HEAP[f+12]+4*g];HEAP[d]-=1;d=HEAP[d]==0?13:14;break;case 13:FUNCTION_TABLE[HEAP[HEAP[HEAP[HEAP[f+12]+4*g]+4]+24]](HEAP[HEAP[f+12]+4*g]);d=14;break;case 14:HEAP[HEAP[f+12]+4*g]=t;g=p;p=g*2+1;d=15;break;case 15:d=p<m?5:16;break;case 16:d=HEAP[HEAP[f+12]+4*g];HEAP[d]-=
1;d=HEAP[d]==0?17:18;break;case 17:FUNCTION_TABLE[HEAP[HEAP[HEAP[HEAP[f+12]+4*g]+4]+24]](HEAP[HEAP[f+12]+4*g]);d=18;break;case 18:HEAP[HEAP[f+12]+4*g]=s;h=b(f,j,g);d=19;break;case 19:return f=h;default:assert(0,"bad label: "+d)}}function c(a,b){var c;for(c=-1;;)switch(c){case -1:var d,f,g,h,j,m,o,p,q,r;d=a;f=b;c=(HEAP[HEAP[d+4]+84]&33554432)==0?1:2;break;case 1:throw ___assert_fail(k,l,418,A),"Reached an unreachable!";case 2:j=HEAP[d+8];h=f;c=f>=j?3:4;break;case 3:_PyErr_SetString(HEAP[_PyExc_IndexError],
n);g=-1;c=19;break;case 4:q=HEAP[HEAP[d+12]+4*f];HEAP[q]+=1;m=f*2+1;c=15;break;case 5:o=m+1;c=o<j?6:12;break;case 6:p=e(HEAP[HEAP[d+12]+4*o],HEAP[HEAP[d+12]+4*m]);c=p==-1?7:10;break;case 7:HEAP[q]-=1;c=HEAP[q]==0?8:9;break;case 8:FUNCTION_TABLE[HEAP[HEAP[q+4]+24]](q);c=9;break;case 9:g=-1;c=19;break;case 10:c=p==0?11:12;break;case 11:m=o;c=12;break;case 12:r=HEAP[HEAP[d+12]+4*m];HEAP[r]+=1;c=HEAP[HEAP[d+12]+4*f];HEAP[c]-=1;c=HEAP[c]==0?13:14;break;case 13:FUNCTION_TABLE[HEAP[HEAP[HEAP[HEAP[d+12]+
4*f]+4]+24]](HEAP[HEAP[d+12]+4*f]);c=14;break;case 14:HEAP[HEAP[d+12]+4*f]=r;f=m;m=f*2+1;c=15;break;case 15:c=m<j?5:16;break;case 16:c=HEAP[HEAP[d+12]+4*f];HEAP[c]-=1;c=HEAP[c]==0?17:18;break;case 17:FUNCTION_TABLE[HEAP[HEAP[HEAP[HEAP[d+12]+4*f]+4]+24]](HEAP[HEAP[d+12]+4*f]);c=18;break;case 18:HEAP[HEAP[d+12]+4*f]=q;a:{g=d;c=h;for(var s=f,t=void 0,t=-1;;)switch(t){case -1:var u,v,w,x,y,F,z,I;u=g;v=c;w=s;t=(HEAP[HEAP[u+4]+84]&33554432)==0?1:2;break;case 1:throw ___assert_fail(k,l,381,C),"Reached an unreachable!";
case 2:t=HEAP[u+8]<=w?3:4;break;case 3:_PyErr_SetString(HEAP[_PyExc_IndexError],n);x=-1;t=17;break;case 4:y=HEAP[HEAP[u+12]+4*w];HEAP[y]+=1;t=13;break;case 5:I=w-1>>1;F=HEAP[HEAP[u+12]+4*I];z=e(F,y);t=z==-1?6:9;break;case 6:HEAP[y]-=1;t=HEAP[y]==0?7:8;break;case 7:FUNCTION_TABLE[HEAP[HEAP[y+4]+24]](y);t=8;break;case 8:x=-1;t=17;break;case 9:t=z==0?14:10;break;case 10:HEAP[F]+=1;t=HEAP[HEAP[u+12]+4*w];HEAP[t]-=1;t=HEAP[t]==0?11:12;break;case 11:FUNCTION_TABLE[HEAP[HEAP[HEAP[HEAP[u+12]+4*w]+4]+24]](HEAP[HEAP[u+
12]+4*w]);t=12;break;case 12:HEAP[HEAP[u+12]+4*w]=F;w=I;t=13;break;case 13:t=w>v?5:14;break;case 14:t=HEAP[HEAP[u+12]+4*w];HEAP[t]-=1;t=HEAP[t]==0?15:16;break;case 15:FUNCTION_TABLE[HEAP[HEAP[HEAP[HEAP[u+12]+4*w]+4]+24]](HEAP[HEAP[u+12]+4*w]);t=16;break;case 16:HEAP[HEAP[u+12]+4*w]=y;x=0;t=17;break;case 17:g=x;break a;default:assert(0,"bad label: "+t)}g=void 0}c=19;break;case 19:return d=g;default:assert(0,"bad label: "+c)}}function d(){h=allocate(1,"%struct.PyObject*",ALLOC_NORMAL);j=allocate([95,
95,108,116,95,95,0],"i8",ALLOC_NORMAL);k=allocate([40,40,40,40,40,40,80,121,79,98,106,101,99,116,42,41,40,104,101,97,112,41,41,45,62,111,98,95,116,121,112,101,41,41,45,62,116,112,95,102,108,97,103,115,32,38,32,40,40,49,76,60,60,50,53,41,41,41,32,33,61,32,48,41,0],"i8",ALLOC_NORMAL);l=allocate([46,46,47,99,112,121,116,104,111,110,47,77,111,100,117,108,101,115,47,95,104,101,97,112,113,109,111,100,117,108,101,46,99,0],"i8",ALLOC_NORMAL);m=allocate([95,115,105,102,116,100,111,119,110,0],"i8",ALLOC_NORMAL);
n=allocate([105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0],"i8",ALLOC_NORMAL);o=allocate([95,115,105,102,116,117,112,0],"i8",ALLOC_NORMAL);p=allocate([104,101,97,112,112,117,115,104,0],"i8",ALLOC_NORMAL);q=allocate([104,101,97,112,32,97,114,103,117,109,101,110,116,32,109,117,115,116,32,98,101,32,97,32,108,105,115,116,0],"i8",ALLOC_NORMAL);r=allocate([80,117,115,104,32,105,116,101,109,32,111,110,116,111,32,104,101,97,112,44,32,109,97,105,110,116,97,105,110,105,110,103,32,116,
104,101,32,104,101,97,112,32,105,110,118,97,114,105,97,110,116,46,0],"i8",ALLOC_NORMAL);u=allocate([80,111,112,32,116,104,101,32,115,109,97,108,108,101,115,116,32,105,116,101,109,32,111,102,102,32,116,104,101,32,104,101,97,112,44,32,109,97,105,110,116,97,105,110,105,110,103,32,116,104,101,32,104,101,97,112,32,105,110,118,97,114,105,97,110,116,46,0],"i8",ALLOC_NORMAL);s=allocate([104,101,97,112,114,101,112,108,97,99,101,0],"i8",ALLOC_NORMAL);t=allocate([80,111,112,32,97,110,100,32,114,101,116,117,
114,110,32,116,104,101,32,99,117,114,114,101,110,116,32,115,109,97,108,108,101,115,116,32,118,97,108,117,101,44,32,97,110,100,32,97,100,100,32,116,104,101,32,110,101,119,32,105,116,101,109,46,10,10,84,104,105,115,32,105,115,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,116,104,97,110,32,104,101,97,112,112,111,112,40,41,32,102,111,108,108,111,119,101,100,32,98,121,32,104,101,97,112,112,117,115,104,40,41,44,32,97,110,100,32,99,97,110,32,98,101,10,109,111,114,101,32,97,112,112,114,111,
112,114,105,97,116,101,32,119,104,101,110,32,117,115,105,110,103,32,97,32,102,105,120,101,100,45,115,105,122,101,32,104,101,97,112,46,32,32,78,111,116,101,32,116,104,97,116,32,116,104,101,32,118,97,108,117,101,10,114,101,116,117,114,110,101,100,32,109,97,121,32,98,101,32,108,97,114,103,101,114,32,116,104,97,110,32,105,116,101,109,33,32,32,84,104,97,116,32,99,111,110,115,116,114,97,105,110,115,32,114,101,97,115,111,110,97,98,108,101,32,117,115,101,115,32,111,102,10,116,104,105,115,32,114,111,117,116,
105,110,101,32,117,110,108,101,115,115,32,119,114,105,116,116,101,110,32,97,115,32,112,97,114,116,32,111,102,32,97,32,99,111,110,100,105,116,105,111,110,97,108,32,114,101,112,108,97,99,101,109,101,110,116,58,10,10,32,32,32,32,105,102,32,105,116,101,109,32,62,32,104,101,97,112,91,48,93,58,10,32,32,32,32,32,32,32,32,105,116,101,109,32,61,32,104,101,97,112,114,101,112,108,97,99,101,40,104,101,97,112,44,32,105,116,101,109,41,10,0],"i8",ALLOC_NORMAL);v=allocate([104,101,97,112,112,117,115,104,112,111,
112,0],"i8",ALLOC_NORMAL);w=allocate([80,117,115,104,32,105,116,101,109,32,111,110,32,116,104,101,32,104,101,97,112,44,32,116,104,101,110,32,112,111,112,32,97,110,100,32,114,101,116,117,114,110,32,116,104,101,32,115,109,97,108,108,101,115,116,32,105,116,101,109,10,102,114,111,109,32,116,104,101,32,104,101,97,112,46,32,84,104,101,32,99,111,109,98,105,110,101,100,32,97,99,116,105,111,110,32,114,117,110,115,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,108,121,32,116,104,97,110,10,104,101,
97,112,112,117,115,104,40,41,32,102,111,108,108,111,119,101,100,32,98,121,32,97,32,115,101,112,97,114,97,116,101,32,99,97,108,108,32,116,111,32,104,101,97,112,112,111,112,40,41,46,0],"i8",ALLOC_NORMAL);x=allocate([84,114,97,110,115,102,111,114,109,32,108,105,115,116,32,105,110,116,111,32,97,32,104,101,97,112,44,32,105,110,45,112,108,97,99,101,44,32,105,110,32,79,40,108,101,110,40,104,101,97,112,41,41,32,116,105,109,101,46,0],"i8",ALLOC_NORMAL);y=allocate([110,79,58,110,108,97,114,103,101,115,116,
0],"i8",ALLOC_NORMAL);z=allocate([70,105,110,100,32,116,104,101,32,110,32,108,97,114,103,101,115,116,32,101,108,101,109,101,110,116,115,32,105,110,32,97,32,100,97,116,97,115,101,116,46,10,10,69,113,117,105,118,97,108,101,110,116,32,116,111,58,32,32,115,111,114,116,101,100,40,105,116,101,114,97,98,108,101,44,32,114,101,118,101,114,115,101,61,84,114,117,101,41,91,58,110,93,10,0],"i8",ALLOC_NORMAL);C=allocate([95,115,105,102,116,100,111,119,110,109,97,120,0],"i8",ALLOC_NORMAL);A=allocate([95,115,105,
102,116,117,112,109,97,120,0],"i8",ALLOC_NORMAL);G=allocate([110,79,58,110,115,109,97,108,108,101,115,116,0],"i8",ALLOC_NORMAL);E=allocate([70,105,110,100,32,116,104,101,32,110,32,115,109,97,108,108,101,115,116,32,101,108,101,109,101,110,116,115,32,105,110,32,97,32,100,97,116,97,115,101,116,46,10,10,69,113,117,105,118,97,108,101,110,116,32,116,111,58,32,32,115,111,114,116,101,100,40,105,116,101,114,97,98,108,101,41,91,58,110,93,10,0],"i8",ALLOC_NORMAL);D=allocate([104,101,97,112,112,111,112,0],"i8",
ALLOC_NORMAL);R=allocate([104,101,97,112,105,102,121,0],"i8",ALLOC_NORMAL);M=allocate([110,108,97,114,103,101,115,116,0],"i8",ALLOC_NORMAL);L=allocate([110,115,109,97,108,108,101,115,116,0],"i8",ALLOC_NORMAL);I=allocate([0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],["i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",
0,0,0,"i32",0,0,0,"i8*",0,0,0,"i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8*",0,0,0,"i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8*",0,0,0,"i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8*",0,0,0,"i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8*",0,0,0,"i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",
0,0,0,"i32",0,0,0,"i8*",0,0,0,"i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8*",0,0,0,"i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i8","i8","i8","i8","i8","i8","i8","i8"],ALLOC_NORMAL);J=allocate([72,101,97,112,32,113,117,101,117,101,32,97,108,103,111,114,105,116,104,109,32,40,97,46,107,46,97,46,32,112,114,105,111,114,105,116,121,32,113,117,101,117,101,41,46,10,10,72,101,97,112,115,32,97,114,101,32,97,114,114,97,121,115,
32,102,111,114,32,119,104,105,99,104,32,97,91,107,93,32,60,61,32,97,91,50,42,107,43,49,93,32,97,110,100,32,97,91,107,93,32,60,61,32,97,91,50,42,107,43,50,93,32,102,111,114,10,97,108,108,32,107,44,32,99,111,117,110,116,105,110,103,32,101,108,101,109,101,110,116,115,32,102,114,111,109,32,48,46,32,32,70,111,114,32,116,104,101,32,115,97,107,101,32,111,102,32,99,111,109,112,97,114,105,115,111,110,44,10,110,111,110,45,101,120,105,115,116,105,110,103,32,101,108,101,109,101,110,116,115,32,97,114,101,32,99,
111,110,115,105,100,101,114,101,100,32,116,111,32,98,101,32,105,110,102,105,110,105,116,101,46,32,32,84,104,101,32,105,110,116,101,114,101,115,116,105,110,103,10,112,114,111,112,101,114,116,121,32,111,102,32,97,32,104,101,97,112,32,105,115,32,116,104,97,116,32,97,91,48,93,32,105,115,32,97,108,119,97,121,115,32,105,116,115,32,115,109,97,108,108,101,115,116,32,101,108,101,109,101,110,116,46,10,10,85,115,97,103,101,58,10,10,104,101,97,112,32,61,32,91,93,32,32,32,32,32,32,32,32,32,32,32,32,35,32,99,114,
101,97,116,101,115,32,97,110,32,101,109,112,116,121,32,104,101,97,112,10,104,101,97,112,112,117,115,104,40,104,101,97,112,44,32,105,116,101,109,41,32,35,32,112,117,115,104,101,115,32,97,32,110,101,119,32,105,116,101,109,32,111,110,32,116,104,101,32,104,101,97,112,10,105,116,101,109,32,61,32,104,101,97,112,112,111,112,40,104,101,97,112,41,32,35,32,112,111,112,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,105,116,101,109,32,102,114,111,109,32,116,104,101,32,104,101,97,112,10,105,116,101,109,
32,61,32,104,101,97,112,91,48,93,32,32,32,32,32,32,32,35,32,115,109,97,108,108,101,115,116,32,105,116,101,109,32,111,110,32,116,104,101,32,104,101,97,112,32,119,105,116,104,111,117,116,32,112,111,112,112,105,110,103,32,105,116,10,104,101,97,112,105,102,121,40,120,41,32,32,32,32,32,32,32,32,32,32,32,35,32,116,114,97,110,115,102,111,114,109,115,32,108,105,115,116,32,105,110,116,111,32,97,32,104,101,97,112,44,32,105,110,45,112,108,97,99,101,44,32,105,110,32,108,105,110,101,97,114,32,116,105,109,101,
10,105,116,101,109,32,61,32,104,101,97,112,114,101,112,108,97,99,101,40,104,101,97,112,44,32,105,116,101,109,41,32,35,32,112,111,112,115,32,97,110,100,32,114,101,116,117,114,110,115,32,115,109,97,108,108,101,115,116,32,105,116,101,109,44,32,97,110,100,32,97,100,100,115,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,35,32,110,101,119,32,105,116,101,109,59,32,116,104,101,32,104,101,97,112,32,115,105,122,101,32,105,115,32,117,110,99,104,97,110,103,101,
100,10,10,79,117,114,32,65,80,73,32,100,105,102,102,101,114,115,32,102,114,111,109,32,116,101,120,116,98,111,111,107,32,104,101,97,112,32,97,108,103,111,114,105,116,104,109,115,32,97,115,32,102,111,108,108,111,119,115,58,10,10,45,32,87,101,32,117,115,101,32,48,45,98,97,115,101,100,32,105,110,100,101,120,105,110,103,46,32,32,84,104,105,115,32,109,97,107,101,115,32,116,104,101,32,114,101,108,97,116,105,111,110,115,104,105,112,32,98,101,116,119,101,101,110,32,116,104,101,10,32,32,105,110,100,101,120,
32,102,111,114,32,97,32,110,111,100,101,32,97,110,100,32,116,104,101,32,105,110,100,101,120,101,115,32,102,111,114,32,105,116,115,32,99,104,105,108,100,114,101,110,32,115,108,105,103,104,116,108,121,32,108,101,115,115,10,32,32,111,98,118,105,111,117,115,44,32,98,117,116,32,105,115,32,109,111,114,101,32,115,117,105,116,97,98,108,101,32,115,105,110,99,101,32,80,121,116,104,111,110,32,117,115,101,115,32,48,45,98,97,115,101,100,32,105,110,100,101,120,105,110,103,46,10,10,45,32,79,117,114,32,104,101,97,
112,112,111,112,40,41,32,109,101,116,104,111,100,32,114,101,116,117,114,110,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,105,116,101,109,44,32,110,111,116,32,116,104,101,32,108,97,114,103,101,115,116,46,10,10,84,104,101,115,101,32,116,119,111,32,109,97,107,101,32,105,116,32,112,111,115,115,105,98,108,101,32,116,111,32,118,105,101,119,32,116,104,101,32,104,101,97,112,32,97,115,32,97,32,114,101,103,117,108,97,114,32,80,121,116,104,111,110,32,108,105,115,116,10,119,105,116,104,111,117,116,
32,115,117,114,112,114,105,115,101,115,58,32,104,101,97,112,91,48,93,32,105,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,105,116,101,109,44,32,97,110,100,32,104,101,97,112,46,115,111,114,116,40,41,10,109,97,105,110,116,97,105,110,115,32,116,104,101,32,104,101,97,112,32,105,110,118,97,114,105,97,110,116,33,10,0],"i8",ALLOC_NORMAL);F=allocate([72,101,97,112,32,113,117,101,117,101,115,10,10,91,101,120,112,108,97,110,97,116,105,111,110,32,98,121,32,70,114,97,110,231,111,105,115,32,80,105,110,
97,114,100,93,10,10,72,101,97,112,115,32,97,114,101,32,97,114,114,97,121,115,32,102,111,114,32,119,104,105,99,104,32,97,91,107,93,32,60,61,32,97,91,50,42,107,43,49,93,32,97,110,100,32,97,91,107,93,32,60,61,32,97,91,50,42,107,43,50,93,32,102,111,114,10,97,108,108,32,107,44,32,99,111,117,110,116,105,110,103,32,101,108,101,109,101,110,116,115,32,102,114,111,109,32,48,46,32,32,70,111,114,32,116,104,101,32,115,97,107,101,32,111,102,32,99,111,109,112,97,114,105,115,111,110,44,10,110,111,110,45,101,120,
105,115,116,105,110,103,32,101,108,101,109,101,110,116,115,32,97,114,101,32,99,111,110,115,105,100,101,114,101,100,32,116,111,32,98,101,32,105,110,102,105,110,105,116,101,46,32,32,84,104,101,32,105,110,116,101,114,101,115,116,105,110,103,10,112,114,111,112,101,114,116,121,32,111,102,32,97,32,104,101,97,112,32,105,115,32,116,104,97,116,32,97,91,48,93,32,105,115,32,97,108,119,97,121,115,32,105,116,115,32,115,109,97,108,108,101,115,116,32,101,108,101,109,101,110,116,46,10,10,84,104,101,32,115,116,114,
97,110,103,101,32,105,110,118,97,114,105,97,110,116,32,97,98,111,118,101,32,105,115,32,109,101,97,110,116,32,116,111,32,98,101,32,97,110,32,101,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,10,114,101,112,114,101,115,101,110,116,97,116,105,111,110,32,102,111,114,32,97,32,116,111,117,114,110,97,109,101,110,116,46,32,32,84,104,101,32,110,117,109,98,101,114,115,32,98,101,108,111,119,32,97,114,101,32,96,107,39,44,32,110,111,116,32,97,91,107,93,58,10,10,32,32,32,32,32,32,32,32,32,32,32,32,
32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,48,10,10,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,49,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,50,10,10,32,32,32,32,32,32,32,32,32,32,51,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,52,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,53,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,54,10,10,32,32,32,32,32,32,55,32,32,32,32,32,32,32,56,32,32,32,32,32,32,32,57,32,
32,32,32,32,32,32,49,48,32,32,32,32,32,32,49,49,32,32,32,32,32,32,49,50,32,32,32,32,32,32,49,51,32,32,32,32,32,32,49,52,10,10,32,32,32,32,49,53,32,49,54,32,32,32,49,55,32,49,56,32,32,32,49,57,32,50,48,32,32,32,50,49,32,50,50,32,32,32,50,51,32,50,52,32,32,32,50,53,32,50,54,32,32,32,50,55,32,50,56,32,32,32,50,57,32,51,48,10,10,10,73,110,32,116,104,101,32,116,114,101,101,32,97,98,111,118,101,44,32,101,97,99,104,32,99,101,108,108,32,96,107,39,32,105,115,32,116,111,112,112,105,110,103,32,96,50,42,107,
43,49,39,32,97,110,100,32,96,50,42,107,43,50,39,46,32,32,73,110,10,97,110,32,117,115,117,97,108,32,98,105,110,97,114,121,32,116,111,117,114,110,97,109,101,110,116,32,119,101,32,115,101,101,32,105,110,32,115,112,111,114,116,115,44,32,101,97,99,104,32,99,101,108,108,32,105,115,32,116,104,101,32,119,105,110,110,101,114,10,111,118,101,114,32,116,104,101,32,116,119,111,32,99,101,108,108,115,32,105,116,32,116,111,112,115,44,32,97,110,100,32,119,101,32,99,97,110,32,116,114,97,99,101,32,116,104,101,32,119,
105,110,110,101,114,32,100,111,119,110,32,116,104,101,32,116,114,101,101,10,116,111,32,115,101,101,32,97,108,108,32,111,112,112,111,110,101,110,116,115,32,115,47,104,101,32,104,97,100,46,32,32,72,111,119,101,118,101,114,44,32,105,110,32,109,97,110,121,32,99,111,109,112,117,116,101,114,32,97,112,112,108,105,99,97,116,105,111,110,115,10,111,102,32,115,117,99,104,32,116,111,117,114,110,97,109,101,110,116,115,44,32,119,101,32,100,111,32,110,111,116,32,110,101,101,100,32,116,111,32,116,114,97,99,101,32,
116,104,101,32,104,105,115,116,111,114,121,32,111,102,32,97,32,119,105,110,110,101,114,46,10,84,111,32,98,101,32,109,111,114,101,32,109,101,109,111,114,121,32,101,102,102,105,99,105,101,110,116,44,32,119,104,101,110,32,97,32,119,105,110,110,101,114,32,105,115,32,112,114,111,109,111,116,101,100,44,32,119,101,32,116,114,121,32,116,111,10,114,101,112,108,97,99,101,32,105,116,32,98,121,32,115,111,109,101,116,104,105,110,103,32,101,108,115,101,32,97,116,32,97,32,108,111,119,101,114,32,108,101,118,101,
108,44,32,97,110,100,32,116,104,101,32,114,117,108,101,32,98,101,99,111,109,101,115,10,116,104,97,116,32,97,32,99,101,108,108,32,97,110,100,32,116,104,101,32,116,119,111,32,99,101,108,108,115,32,105,116,32,116,111,112,115,32,99,111,110,116,97,105,110,32,116,104,114,101,101,32,100,105,102,102,101,114,101,110,116,32,105,116,101,109,115,44,10,98,117,116,32,116,104,101,32,116,111,112,32,99,101,108,108,32,34,119,105,110,115,34,32,111,118,101,114,32,116,104,101,32,116,119,111,32,116,111,112,112,101,100,
32,99,101,108,108,115,46,10,10,73,102,32,116,104,105,115,32,104,101,97,112,32,105,110,118,97,114,105,97,110,116,32,105,115,32,112,114,111,116,101,99,116,101,100,32,97,116,32,97,108,108,32,116,105,109,101,44,32,105,110,100,101,120,32,48,32,105,115,32,99,108,101,97,114,108,121,10,116,104,101,32,111,118,101,114,97,108,108,32,119,105,110,110,101,114,46,32,32,84,104,101,32,115,105,109,112,108,101,115,116,32,97,108,103,111,114,105,116,104,109,105,99,32,119,97,121,32,116,111,32,114,101,109,111,118,101,32,
105,116,32,97,110,100,10,102,105,110,100,32,116,104,101,32,34,110,101,120,116,34,32,119,105,110,110,101,114,32,105,115,32,116,111,32,109,111,118,101,32,115,111,109,101,32,108,111,115,101,114,32,40,108,101,116,39,115,32,115,97,121,32,99,101,108,108,32,51,48,32,105,110,32,116,104,101,10,100,105,97,103,114,97,109,32,97,98,111,118,101,41,32,105,110,116,111,32,116,104,101,32,48,32,112,111,115,105,116,105,111,110,44,32,97,110,100,32,116,104,101,110,32,112,101,114,99,111,108,97,116,101,32,116,104,105,115,
32,110,101,119,32,48,32,100,111,119,110,10,116,104,101,32,116,114,101,101,44,32,101,120,99,104,97,110,103,105,110,103,32,118,97,108,117,101,115,44,32,117,110,116,105,108,32,116,104,101,32,105,110,118,97,114,105,97,110,116,32,105,115,32,114,101,45,101,115,116,97,98,108,105,115,104,101,100,46,10,84,104,105,115,32,105,115,32,99,108,101,97,114,108,121,32,108,111,103,97,114,105,116,104,109,105,99,32,111,110,32,116,104,101,32,116,111,116,97,108,32,110,117,109,98,101,114,32,111,102,32,105,116,101,109,115,
32,105,110,32,116,104,101,32,116,114,101,101,46,10,66,121,32,105,116,101,114,97,116,105,110,103,32,111,118,101,114,32,97,108,108,32,105,116,101,109,115,44,32,121,111,117,32,103,101,116,32,97,110,32,79,40,110,32,108,110,32,110,41,32,115,111,114,116,46,10,10,65,32,110,105,99,101,32,102,101,97,116,117,114,101,32,111,102,32,116,104,105,115,32,115,111,114,116,32,105,115,32,116,104,97,116,32,121,111,117,32,99,97,110,32,101,102,102,105,99,105,101,110,116,108,121,32,105,110,115,101,114,116,32,110,101,119,
10,105,116,101,109,115,32,119,104,105,108,101,32,116,104,101,32,115,111,114,116,32,105,115,32,103,111,105,110,103,32,111,110,44,32,112,114,111,118,105,100,101,100,32,116,104,97,116,32,116,104,101,32,105,110,115,101,114,116,101,100,32,105,116,101,109,115,32,97,114,101,10,110,111,116,32,34,98,101,116,116,101,114,34,32,116,104,97,110,32,116,104,101,32,108,97,115,116,32,48,39,116,104,32,101,108,101,109,101,110,116,32,121,111,117,32,101,120,116,114,97,99,116,101,100,46,32,32,84,104,105,115,32,105,115,
10,101,115,112,101,99,105,97,108,108,121,32,117,115,101,102,117,108,32,105,110,32,115,105,109,117,108,97,116,105,111,110,32,99,111,110,116,101,120,116,115,44,32,119,104,101,114,101,32,116,104,101,32,116,114,101,101,32,104,111,108,100,115,32,97,108,108,10,105,110,99,111,109,105,110,103,32,101,118,101,110,116,115,44,32,97,110,100,32,116,104,101,32,34,119,105,110,34,32,99,111,110,100,105,116,105,111,110,32,109,101,97,110,115,32,116,104,101,32,115,109,97,108,108,101,115,116,32,115,99,104,101,100,117,
108,101,100,10,116,105,109,101,46,32,32,87,104,101,110,32,97,110,32,101,118,101,110,116,32,115,99,104,101,100,117,108,101,32,111,116,104,101,114,32,101,118,101,110,116,115,32,102,111,114,32,101,120,101,99,117,116,105,111,110,44,32,116,104,101,121,32,97,114,101,10,115,99,104,101,100,117,108,101,100,32,105,110,116,111,32,116,104,101,32,102,117,116,117,114,101,44,32,115,111,32,116,104,101,121,32,99,97,110,32,101,97,115,105,108,121,32,103,111,32,105,110,116,111,32,116,104,101,32,104,101,97,112,46,32,
32,83,111,44,32,97,10,104,101,97,112,32,105,115,32,97,32,103,111,111,100,32,115,116,114,117,99,116,117,114,101,32,102,111,114,32,105,109,112,108,101,109,101,110,116,105,110,103,32,115,99,104,101,100,117,108,101,114,115,32,40,116,104,105,115,32,105,115,32,119,104,97,116,32,73,10,117,115,101,100,32,102,111,114,32,109,121,32,77,73,68,73,32,115,101,113,117,101,110,99,101,114,32,58,45,41,46,10,10,86,97,114,105,111,117,115,32,115,116,114,117,99,116,117,114,101,115,32,102,111,114,32,105,109,112,108,101,
109,101,110,116,105,110,103,32,115,99,104,101,100,117,108,101,114,115,32,104,97,118,101,32,98,101,101,110,32,101,120,116,101,110,115,105,118,101,108,121,10,115,116,117,100,105,101,100,44,32,97,110,100,32,104,101,97,112,115,32,97,114,101,32,103,111,111,100,32,102,111,114,32,116,104,105,115,44,32,97,115,32,116,104,101,121,32,97,114,101,32,114,101,97,115,111,110,97,98,108,121,32,115,112,101,101,100,121,44,10,116,104,101,32,115,112,101,101,100,32,105,115,32,97,108,109,111,115,116,32,99,111,110,115,116,
97,110,116,44,32,97,110,100,32,116,104,101,32,119,111,114,115,116,32,99,97,115,101,32,105,115,32,110,111,116,32,109,117,99,104,32,100,105,102,102,101,114,101,110,116,10,116,104,97,110,32,116,104,101,32,97,118,101,114,97,103,101,32,99,97,115,101,46,32,32,72,111,119,101,118,101,114,44,32,116,104,101,114,101,32,97,114,101,32,111,116,104,101,114,32,114,101,112,114,101,115,101,110,116,97,116,105,111,110,115,32,119,104,105,99,104,10,97,114,101,32,109,111,114,101,32,101,102,102,105,99,105,101,110,116,32,
111,118,101,114,97,108,108,44,32,121,101,116,32,116,104,101,32,119,111,114,115,116,32,99,97,115,101,115,32,109,105,103,104,116,32,98,101,32,116,101,114,114,105,98,108,101,46,10,10,72,101,97,112,115,32,97,114,101,32,97,108,115,111,32,118,101,114,121,32,117,115,101,102,117,108,32,105,110,32,98,105,103,32,100,105,115,107,32,115,111,114,116,115,46,32,32,89,111,117,32,109,111,115,116,32,112,114,111,98,97,98,108,121,32,97,108,108,10,107,110,111,119,32,116,104,97,116,32,97,32,98,105,103,32,115,111,114,116,
32,105,109,112,108,105,101,115,32,112,114,111,100,117,99,105,110,103,32,34,114,117,110,115,34,32,40,119,104,105,99,104,32,97,114,101,32,112,114,101,45,115,111,114,116,101,100,10,115,101,113,117,101,110,99,101,115,44,32,119,104,105,99,104,32,115,105,122,101,32,105,115,32,117,115,117,97,108,108,121,32,114,101,108,97,116,101,100,32,116,111,32,116,104,101,32,97,109,111,117,110,116,32,111,102,32,67,80,85,32,109,101,109,111,114,121,41,44,10,102,111,108,108,111,119,101,100,32,98,121,32,97,32,109,101,114,
103,105,110,103,32,112,97,115,115,101,115,32,102,111,114,32,116,104,101,115,101,32,114,117,110,115,44,32,119,104,105,99,104,32,109,101,114,103,105,110,103,32,105,115,32,111,102,116,101,110,10,118,101,114,121,32,99,108,101,118,101,114,108,121,32,111,114,103,97,110,105,115,101,100,91,49,93,46,32,32,73,116,32,105,115,32,118,101,114,121,32,105,109,112,111,114,116,97,110,116,32,116,104,97,116,32,116,104,101,32,105,110,105,116,105,97,108,10,115,111,114,116,32,112,114,111,100,117,99,101,115,32,116,104,101,
32,108,111,110,103,101,115,116,32,114,117,110,115,32,112,111,115,115,105,98,108,101,46,32,32,84,111,117,114,110,97,109,101,110,116,115,32,97,114,101,32,97,32,103,111,111,100,32,119,97,121,10,116,111,32,116,104,97,116,46,32,32,73,102,44,32,117,115,105,110,103,32,97,108,108,32,116,104,101,32,109,101,109,111,114,121,32,97,118,97,105,108,97,98,108,101,32,116,111,32,104,111,108,100,32,97,32,116,111,117,114,110,97,109,101,110,116,44,32,121,111,117,10,114,101,112,108,97,99,101,32,97,110,100,32,112,101,114,
99,111,108,97,116,101,32,105,116,101,109,115,32,116,104,97,116,32,104,97,112,112,101,110,32,116,111,32,102,105,116,32,116,104,101,32,99,117,114,114,101,110,116,32,114,117,110,44,32,121,111,117,39,108,108,10,112,114,111,100,117,99,101,32,114,117,110,115,32,119,104,105,99,104,32,97,114,101,32,116,119,105,99,101,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,32,109,101,109,111,114,121,32,102,111,114,32,114,97,110,100,111,109,32,105,110,112,117,116,44,10,97,110,100,32,109,117,99,104,32,98,
101,116,116,101,114,32,102,111,114,32,105,110,112,117,116,32,102,117,122,122,105,108,121,32,111,114,100,101,114,101,100,46,10,10,77,111,114,101,111,118,101,114,44,32,105,102,32,121,111,117,32,111,117,116,112,117,116,32,116,104,101,32,48,39,116,104,32,105,116,101,109,32,111,110,32,100,105,115,107,32,97,110,100,32,103,101,116,32,97,110,32,105,110,112,117,116,32,119,104,105,99,104,10,109,97,121,32,110,111,116,32,102,105,116,32,105,110,32,116,104,101,32,99,117,114,114,101,110,116,32,116,111,117,114,110,
97,109,101,110,116,32,40,98,101,99,97,117,115,101,32,116,104,101,32,118,97,108,117,101,32,34,119,105,110,115,34,32,111,118,101,114,10,116,104,101,32,108,97,115,116,32,111,117,116,112,117,116,32,118,97,108,117,101,41,44,32,105,116,32,99,97,110,110,111,116,32,102,105,116,32,105,110,32,116,104,101,32,104,101,97,112,44,32,115,111,32,116,104,101,32,115,105,122,101,32,111,102,32,116,104,101,10,104,101,97,112,32,100,101,99,114,101,97,115,101,115,46,32,32,84,104,101,32,102,114,101,101,100,32,109,101,109,
111,114,121,32,99,111,117,108,100,32,98,101,32,99,108,101,118,101,114,108,121,32,114,101,117,115,101,100,32,105,109,109,101,100,105,97,116,101,108,121,10,102,111,114,32,112,114,111,103,114,101,115,115,105,118,101,108,121,32,98,117,105,108,100,105,110,103,32,97,32,115,101,99,111,110,100,32,104,101,97,112,44,32,119,104,105,99,104,32,103,114,111,119,115,32,97,116,32,101,120,97,99,116,108,121,32,116,104,101,10,115,97,109,101,32,114,97,116,101,32,116,104,101,32,102,105,114,115,116,32,104,101,97,112,32,
105,115,32,109,101,108,116,105,110,103,46,32,32,87,104,101,110,32,116,104,101,32,102,105,114,115,116,32,104,101,97,112,32,99,111,109,112,108,101,116,101,108,121,10,118,97,110,105,115,104,101,115,44,32,121,111,117,32,115,119,105,116,99,104,32,104,101,97,112,115,32,97,110,100,32,115,116,97,114,116,32,97,32,110,101,119,32,114,117,110,46,32,32,67,108,101,118,101,114,32,97,110,100,32,113,117,105,116,101,10,101,102,102,101,99,116,105,118,101,33,10,10,73,110,32,97,32,119,111,114,100,44,32,104,101,97,112,
115,32,97,114,101,32,117,115,101,102,117,108,32,109,101,109,111,114,121,32,115,116,114,117,99,116,117,114,101,115,32,116,111,32,107,110,111,119,46,32,32,73,32,117,115,101,32,116,104,101,109,32,105,110,10,97,32,102,101,119,32,97,112,112,108,105,99,97,116,105,111,110,115,44,32,97,110,100,32,73,32,116,104,105,110,107,32,105,116,32,105,115,32,103,111,111,100,32,116,111,32,107,101,101,112,32,97,32,96,104,101,97,112,39,32,109,111,100,117,108,101,10,97,114,111,117,110,100,46,32,58,45,41,10,10,45,45,45,45,
45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,91,49,93,32,84,104,101,32,100,105,115,107,32,98,97,108,97,110,99,105,110,103,32,97,108,103,111,114,105,116,104,109,115,32,119,104,105,99,104,32,97,114,101,32,99,117,114,114,101,110,116,44,32,110,111,119,97,100,97,121,115,44,32,97,114,101,10,109,111,114,101,32,97,110,110,111,121,105,110,103,32,116,104,97,110,32,99,108,101,118,101,114,44,32,97,110,100,32,116,104,105,115,32,105,115,32,97,32,99,111,110,115,101,113,117,101,110,99,101,32,111,102,32,116,
104,101,32,115,101,101,107,105,110,103,10,99,97,112,97,98,105,108,105,116,105,101,115,32,111,102,32,116,104,101,32,100,105,115,107,115,46,32,32,79,110,32,100,101,118,105,99,101,115,32,119,104,105,99,104,32,99,97,110,110,111,116,32,115,101,101,107,44,32,108,105,107,101,32,98,105,103,10,116,97,112,101,32,100,114,105,118,101,115,44,32,116,104,101,32,115,116,111,114,121,32,119,97,115,32,113,117,105,116,101,32,100,105,102,102,101,114,101,110,116,44,32,97,110,100,32,111,110,101,32,104,97,100,32,116,111,
32,98,101,32,118,101,114,121,10,99,108,101,118,101,114,32,116,111,32,101,110,115,117,114,101,32,40,102,97,114,32,105,110,32,97,100,118,97,110,99,101,41,32,116,104,97,116,32,101,97,99,104,32,116,97,112,101,32,109,111,118,101,109,101,110,116,32,119,105,108,108,32,98,101,32,116,104,101,10,109,111,115,116,32,101,102,102,101,99,116,105,118,101,32,112,111,115,115,105,98,108,101,32,40,116,104,97,116,32,105,115,44,32,119,105,108,108,32,98,101,115,116,32,112,97,114,116,105,99,105,112,97,116,101,32,97,116,
10,34,112,114,111,103,114,101,115,115,105,110,103,34,32,116,104,101,32,109,101,114,103,101,41,46,32,32,83,111,109,101,32,116,97,112,101,115,32,119,101,114,101,32,101,118,101,110,32,97,98,108,101,32,116,111,32,114,101,97,100,10,98,97,99,107,119,97,114,100,115,44,32,97,110,100,32,116,104,105,115,32,119,97,115,32,97,108,115,111,32,117,115,101,100,32,116,111,32,97,118,111,105,100,32,116,104,101,32,114,101,119,105,110,100,105,110,103,32,116,105,109,101,46,10,66,101,108,105,101,118,101,32,109,101,44,32,
114,101,97,108,32,103,111,111,100,32,116,97,112,101,32,115,111,114,116,115,32,119,101,114,101,32,113,117,105,116,101,32,115,112,101,99,116,97,99,117,108,97,114,32,116,111,32,119,97,116,99,104,33,10,70,114,111,109,32,97,108,108,32,116,105,109,101,115,44,32,115,111,114,116,105,110,103,32,104,97,115,32,97,108,119,97,121,115,32,98,101,101,110,32,97,32,71,114,101,97,116,32,65,114,116,33,32,58,45,41,10,0],"i8",ALLOC_NORMAL);V=allocate([95,104,101,97,112,113,0],"i8",ALLOC_NORMAL);Q=allocate([95,95,97,98,
111,117,116,95,95,0],"i8",ALLOC_NORMAL);HEAP[I]=p;HEAP[I+4]=g+2;HEAP[I+12]=r;HEAP[I+16]=v;HEAP[I+20]=g+4;HEAP[I+28]=w;HEAP[I+32]=D;HEAP[I+36]=g+6;HEAP[I+44]=u;HEAP[I+48]=s;HEAP[I+52]=g+8;HEAP[I+60]=t;HEAP[I+64]=R;HEAP[I+68]=g+10;HEAP[I+76]=x;HEAP[I+80]=M;HEAP[I+84]=g+12;HEAP[I+92]=z;HEAP[I+96]=L;HEAP[I+100]=g+14;HEAP[I+108]=E}var f={arguments:[]},h,j,k,l,m,n,o,p,q,r,u,s,t,v,w,x,y,z,C,A,G,E,D,R,M,L,I,J,F,V,Q;f._init_heapq=function(){var a;for(a=-1;;)switch(a){case -1:var b;b=_Py_InitModule4(V,I,J,
0,1013);a=b==0?2:1;break;case 1:a=_PyString_FromString(F);_PyModule_AddObject(b,Q,a);a=2;break;case 2:return;default:assert(0,"bad label: "+a)}};FUNCTION_TABLE=FUNCTION_TABLE.concat([0,0,function(a,c){var d=STACKTOP;STACKTOP+=8;_memset(d,0,8);var e;for(e=-1;;)switch(e){case -1:var f,g=d,h=d+4;e=_PyArg_UnpackTuple(c,p,2,2,allocate([g,0,0,0,h,0,0,0],["%struct.PyObject**",0,0,0,"%struct.PyObject**",0,0,0],ALLOC_STACK))==0?1:2;break;case 1:f=0;e=9;break;case 2:e=(HEAP[HEAP[HEAP[g]+4]+84]&33554432)==0?
3:4;break;case 3:_PyErr_SetString(HEAP[_PyExc_TypeError],q);f=0;e=9;break;case 4:e=_PyList_Append(HEAP[g],HEAP[h])==-1?5:6;break;case 5:f=0;e=9;break;case 6:e=b(HEAP[g],0,HEAP[HEAP[g]+8]-1)==-1?7:8;break;case 7:f=0;e=9;break;case 8:HEAP[__Py_NoneStruct]+=1;f=__Py_NoneStruct;e=9;break;case 9:return e=f,STACKTOP=d,e;default:assert(0,"bad label: "+e)}},0,function(b,c){var d=STACKTOP;STACKTOP+=8;_memset(d,0,8);var f;for(f=-1;;)switch(f){case -1:var g,h=d,j=d+4,k,l;f=_PyArg_UnpackTuple(c,v,2,2,allocate([h,
0,0,0,j,0,0,0],["%struct.PyObject**",0,0,0,"%struct.PyObject**",0,0,0],ALLOC_STACK))==0?1:2;break;case 1:g=0;f=15;break;case 2:f=(HEAP[HEAP[HEAP[h]+4]+84]&33554432)==0?3:4;break;case 3:_PyErr_SetString(HEAP[_PyExc_TypeError],q);g=0;f=15;break;case 4:var m=HEAP[j];f=HEAP[HEAP[h]+8]<=0?5:6;break;case 5:HEAP[m]+=1;g=HEAP[j];f=15;break;case 6:l=e(HEAP[HEAP[HEAP[h]+12]],m);f=l==-1?7:8;break;case 7:g=0;f=15;break;case 8:f=l==0?9:10;break;case 9:HEAP[HEAP[j]]+=1;g=HEAP[j];f=15;break;case 10:k=HEAP[HEAP[HEAP[h]+
12]];HEAP[HEAP[j]]+=1;HEAP[HEAP[HEAP[h]+12]]=HEAP[j];f=a(HEAP[h],0)==-1;var n=k;f=f?11:14;break;case 11:HEAP[k]=HEAP[n]-1;f=HEAP[k]==0?12:13;break;case 12:FUNCTION_TABLE[HEAP[HEAP[k+4]+24]](k);f=13;break;case 13:g=0;f=15;break;case 14:g=n;f=15;break;case 15:return STACKTOP=d,g;default:assert(0,"bad label: "+f)}},0,function(b,c){var d;for(d=-1;;)switch(d){case -1:var e,f,g,h,j;e=c;d=(HEAP[HEAP[e+4]+84]&33554432)==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_TypeError],q);f=0;d=11;break;case 2:j=
HEAP[e+8];d=j==0?3:4;break;case 3:_PyErr_SetString(HEAP[_PyExc_IndexError],n);f=0;d=11;break;case 4:g=HEAP[HEAP[e+12]+4*(j-1)];HEAP[g]+=1;_PyList_SetSlice(e,j-1,j,0);j-=1;d=j==0?5:6;break;case 5:f=g;d=11;break;case 6:h=HEAP[HEAP[e+12]];HEAP[HEAP[e+12]]=g;d=a(e,0)==-1;var k=h;d=d?7:10;break;case 7:HEAP[h]=HEAP[k]-1;d=HEAP[h]==0?8:9;break;case 8:FUNCTION_TABLE[HEAP[HEAP[h+4]+24]](h);d=9;break;case 9:f=0;d=11;break;case 10:f=k;d=11;break;case 11:return e=f;default:assert(0,"bad label: "+d)}},0,function(b,
c){var d=STACKTOP;STACKTOP+=8;_memset(d,0,8);var e;for(e=-1;;)switch(e){case -1:var f,g=d,h=d+4,j;e=_PyArg_UnpackTuple(c,s,2,2,allocate([g,0,0,0,h,0,0,0],["%struct.PyObject**",0,0,0,"%struct.PyObject**",0,0,0],ALLOC_STACK))==0?1:2;break;case 1:f=0;e=11;break;case 2:e=(HEAP[HEAP[HEAP[g]+4]+84]&33554432)==0?3:4;break;case 3:_PyErr_SetString(HEAP[_PyExc_TypeError],q);f=0;e=11;break;case 4:e=HEAP[HEAP[g]+8]<=0?5:6;break;case 5:_PyErr_SetString(HEAP[_PyExc_IndexError],n);f=0;e=11;break;case 6:j=HEAP[HEAP[HEAP[g]+
12]];HEAP[HEAP[h]]+=1;HEAP[HEAP[HEAP[g]+12]]=HEAP[h];e=a(HEAP[g],0)==-1;var k=j;e=e?7:10;break;case 7:HEAP[j]=HEAP[k]-1;e=HEAP[j]==0?8:9;break;case 8:FUNCTION_TABLE[HEAP[HEAP[j+4]+24]](j);e=9;break;case 9:f=0;e=11;break;case 10:f=k;e=11;break;case 11:return STACKTOP=d,f;default:assert(0,"bad label: "+e)}},0,function(b,c){var d,e=null;for(d=-1;;)switch(d){case -1:var f,g,h;f=c;d=(HEAP[HEAP[f+4]+84]&33554432)==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_TypeError],q);g=0;d=8;break;case 2:d=HEAP[f+
8];var j=(d/2|0)-1;h=j;e=2;d=6;break;case 3:d=a(f,h)==-1?4:5;break;case 4:g=0;d=8;break;case 5:var k=h-1;h=k;e=5;d=6;break;case 6:d=(e==5?k:j)>=0?3:7;break;case 7:HEAP[__Py_NoneStruct]+=1;g=__Py_NoneStruct;d=8;break;case 8:return f=g;default:assert(0,"bad label: "+d)}},0,function(b,c){var d=STACKTOP;STACKTOP+=8;_memset(d,0,8);var f,g=null;for(f=-1;;)switch(f){case -1:var h,j,k,l=d,m,n,o,p,q=d+4,r;f=c;j=0;f=_PyArg_ParseTuple(f,y,allocate([q,0,0,0,l,0,0,0],["i32*",0,0,0,"%struct.PyObject**",0,0,0],
ALLOC_STACK))==0?1:2;break;case 1:h=0;f=44;break;case 2:n=_PyObject_GetIter(HEAP[l]);f=n==0?3:4;break;case 3:h=0;f=44;break;case 4:j=_PyList_New(0);f=j==0?38:5;break;case 5:p=0;f=14;break;case 6:k=_PyIter_Next(n);f=k==0?7:8;break;case 7:f=_PyErr_Occurred()!=0?38:33;break;case 8:f=_PyList_Append(j,k)==-1;HEAP[k]-=1;var s=HEAP[k]==0;f=f?9:11;break;case 9:f=s?10:38;break;case 10:FUNCTION_TABLE[HEAP[HEAP[k+4]+24]](k);f=38;break;case 11:f=s?12:13;break;case 12:FUNCTION_TABLE[HEAP[HEAP[k+4]+24]](k);f=13;
break;case 13:p+=1;f=14;break;case 14:f=p<HEAP[q]?6:15;break;case 15:f=HEAP[j+8]==0?33:16;break;case 16:var t=(HEAP[q]/2|0)-1;p=t;g=16;f=19;break;case 17:f=a(v,p)==-1?38:18;break;case 18:var u=p-1;p=u;g=18;f=19;break;case 19:var v=j;f=(g==18?u:t)>=0?17:20;break;case 20:m=HEAP[HEAP[v+12]];f=21;break;case 21:k=f=_PyIter_Next(n);f=f==0?22:23;break;case 22:f=_PyErr_Occurred()!=0?38:33;break;case 23:r=e(m,k);f=r==-1?24:26;break;case 24:HEAP[k]-=1;f=HEAP[k]==0?25:38;break;case 25:FUNCTION_TABLE[HEAP[HEAP[k+
4]+24]](k);f=38;break;case 26:f=r==0?27:29;break;case 27:HEAP[k]-=1;f=HEAP[k]==0?28:21;break;case 28:FUNCTION_TABLE[HEAP[HEAP[k+4]+24]](k);f=21;break;case 29:o=HEAP[HEAP[j+12]];HEAP[HEAP[j+12]]=k;HEAP[o]-=1;f=HEAP[o]==0?30:31;break;case 30:FUNCTION_TABLE[HEAP[HEAP[o+4]+24]](o);f=31;break;case 31:f=a(j,0)==-1?38:32;break;case 32:m=HEAP[HEAP[j+12]];f=21;break;case 33:f=_PyList_Sort(j)==-1?38:34;break;case 34:f=_PyList_Reverse(j)==-1?38:35;break;case 35:HEAP[n]-=1;f=HEAP[n]==0?36:37;break;case 36:FUNCTION_TABLE[HEAP[HEAP[n+
4]+24]](n);f=37;break;case 37:h=j;f=44;break;case 38:HEAP[n]-=1;f=HEAP[n]==0?39:40;break;case 39:FUNCTION_TABLE[HEAP[HEAP[n+4]+24]](n);f=40;break;case 40:f=j!=0?41:43;break;case 41:HEAP[j]-=1;f=HEAP[j]==0?42:43;break;case 42:FUNCTION_TABLE[HEAP[HEAP[j+4]+24]](j);f=43;break;case 43:h=0;f=44;break;case 44:return g=h,STACKTOP=d,g;default:assert(0,"bad label: "+f)}},0,function(a,b){var d=STACKTOP;STACKTOP+=8;_memset(d,0,8);var f,g=null;for(f=-1;;)switch(f){case -1:var h,j,k,l=d,m,n,o,p,q=d+4,r;f=b;j=
0;f=_PyArg_ParseTuple(f,G,allocate([q,0,0,0,l,0,0,0],["i32*",0,0,0,"%struct.PyObject**",0,0,0],ALLOC_STACK))==0?1:2;break;case 1:h=0;f=43;break;case 2:n=_PyObject_GetIter(HEAP[l]);f=n==0?3:4;break;case 3:h=0;f=43;break;case 4:j=_PyList_New(0);f=j==0?37:5;break;case 5:p=0;f=14;break;case 6:k=_PyIter_Next(n);f=k==0?7:8;break;case 7:f=_PyErr_Occurred()!=0?37:33;break;case 8:f=_PyList_Append(j,k)==-1;HEAP[k]-=1;var s=HEAP[k]==0;f=f?9:11;break;case 9:f=s?10:37;break;case 10:FUNCTION_TABLE[HEAP[HEAP[k+
4]+24]](k);f=37;break;case 11:f=s?12:13;break;case 12:FUNCTION_TABLE[HEAP[HEAP[k+4]+24]](k);f=13;break;case 13:p+=1;f=14;break;case 14:f=p<HEAP[q]?6:15;break;case 15:HEAP[q]=HEAP[j+8];f=HEAP[q]==0?33:16;break;case 16:var t=(HEAP[q]/2|0)-1;p=t;g=16;f=19;break;case 17:f=c(v,p)==-1?37:18;break;case 18:var u=p-1;p=u;g=18;f=19;break;case 19:var v=j;f=(g==18?u:t)>=0?17:20;break;case 20:m=HEAP[HEAP[v+12]];f=21;break;case 21:k=f=_PyIter_Next(n);f=f==0?22:23;break;case 22:f=_PyErr_Occurred()!=0?37:33;break;
case 23:r=e(k,m);f=r==-1?24:26;break;case 24:HEAP[k]-=1;f=HEAP[k]==0?25:37;break;case 25:FUNCTION_TABLE[HEAP[HEAP[k+4]+24]](k);f=37;break;case 26:f=r==0?27:29;break;case 27:HEAP[k]-=1;f=HEAP[k]==0?28:21;break;case 28:FUNCTION_TABLE[HEAP[HEAP[k+4]+24]](k);f=21;break;case 29:o=HEAP[HEAP[j+12]];HEAP[HEAP[j+12]]=k;HEAP[o]-=1;f=HEAP[o]==0?30:31;break;case 30:FUNCTION_TABLE[HEAP[HEAP[o+4]+24]](o);f=31;break;case 31:f=c(j,0)==-1?37:32;break;case 32:m=HEAP[HEAP[j+12]];f=21;break;case 33:f=_PyList_Sort(j)==
-1?37:34;break;case 34:HEAP[n]-=1;f=HEAP[n]==0?35:36;break;case 35:FUNCTION_TABLE[HEAP[HEAP[n+4]+24]](n);f=36;break;case 36:h=j;f=43;break;case 37:HEAP[n]-=1;f=HEAP[n]==0?38:39;break;case 38:FUNCTION_TABLE[HEAP[HEAP[n+4]+24]](n);f=39;break;case 39:f=j!=0?40:42;break;case 40:HEAP[j]-=1;f=HEAP[j]==0?41:42;break;case 41:FUNCTION_TABLE[HEAP[HEAP[j+4]+24]](j);f=42;break;case 42:h=0;f=43;break;case 43:return g=h,STACKTOP=d,g;default:assert(0,"bad label: "+f)}},0]);f.run=d;d();return f});