"use strict"; // Virtual machine let has = x => x!==undefined; let call = (f,x,w) => { if (x===undefined) return x; if (typeof f !== "function") return f; if (f.m) throw Error("Runtime: Cannot call modifier as function"); return f(x, w); } let get = x => x.e ? x.e[x.p] : arr(x.map(c=>get(c)), x.sh); let set = (d, id, v) => { let eq = (a,b) => a.length===b.length && a.every((e,i)=>e===b[i]); if (id.e) { if (!d && id.e[id.p]===null) throw Error("↩: Variable modified before definition"); id.e[id.p] = v; } else { if (!v.sh) throw Error("← or ↩: Multiple targets but atomic value"); if (!eq(id.sh,v.sh)) throw Error("← or ↩: Target and value shapes don't match"); id.map((n,j)=>set(d,n,v[j])); } return v; } let chkM = (v,m) => { if (m.m!==v) throw Error("Runtime: Only a "+v+"-modifier can be called as a "+v+"-modifier"); } let chkR = v => { if (v===null) throw Error("Runtime: Variable referenced before definition"); } let genjs = (B, p) => { // Bytecode -> Javascript compiler let rD = 0; let r = ""; let szM = 1; let rV = n => { szM=Math.max(szM,n+1); return 'v'+n; }; let rP = val => rV(rD++) + "="+val+";"; let rG = () => rV(--rD); let num = () => { let b=128,n=B[p++]; if (n=b); return t+i*n; } let ge = n => "e"+".p".repeat(n); loop: while(true) { r+="\n"; if (p>B.length) throw Error("Internal compiler error: Unclosed function"); switch(B[p++]) { case 0: { r+= rP("O["+num()+"]"); break; } case 3: case 4: { let n=num(); rD-= n; r+=rP("list(["+(new Array(n).fill().map((_,i)=>rV(rD+i)).join(","))+"])"); break; } case 5: case 16: { let f=rG(),x=rG(); r+=rP("call("+f+","+x +")"); break; } case 6: case 17: { let w=rG(),f=rG(),x=rG(); r+=rP("call("+f+","+x+","+w+")"); break; } case 7: { let f=rG(),m=rG(); r+="chkM(1,"+m+");"+rP(m+"("+f +")"); break; } case 8: { let f=rG(),m=rG(),g=rG(); r+="chkM(2,"+m+");"+rP(m+"("+f+","+g+")"); break; } case 9: { let g=rG(),h=rG(); r+=rP("(( g,h)=>(x,w)=>call(g,call(h,x,w))"+ ")(" +g+","+h+")"); break; } case 10:case 19: { let f=rG(),g=rG(),h=rG(); r+=rP("((f,g,h)=>(x,w)=>call(g,call(h,x,w),has(f)?call(f,x,w):f))("+f+","+g+","+h+")"); break; } case 11: { let i=rG(), v=rG(); r+=rP("set(1,"+i+","+v +")"); break; } case 12: { let i=rG(), v=rG(); r+=rP("set(0,"+i+","+v +")"); break; } case 13: { let i=rG(),f=rG(),x=rG(); r+=rP("set(0,"+i+",call("+f+","+x+",get("+i+")))"); break; } case 14: { rD--; break; } case 15: { r+= rP("D["+num()+"](e)"); break; } case 21: { r+= rP(ge(num())+"["+num()+"]")+"chkR("+rV(rD-1)+");"; break; } case 22: { r+= rP("{e:"+ge(num())+",p:"+num()+"}"); break; } case 25: { if(rD!==1) throw Error("Internal compiler error: Wrong stack size"); r+= "return v0;"; break loop; } } } return "let "+new Array(szM).fill().map((_,i)=>rV(i)).join(',')+";"+r; } let run = (B,O,S) => { // Bytecode, Objects, Sections/blocks let D = S.map(([type,imm,pos,varam],i) => { let I = imm? 0 : 3; // Operand start let def = new Array(I + (type==0?0:type+1) + varam).fill(null); let c = genjs(B, pos); if (imm) c = "const e=[...e2];e.p=oe;"+c; else c = "const fn=(x, w)=>{const e=[...e2];e.p=oe;e[0]=fn;e[1]=x;e[2]=w;"+c+"};return fn;"; if (type===0) c = "let e2=def;"+c; if (type===1) c = "const mod=(f ) => {let e2=[...def]; e2["+I+"]=mod;e2["+(I+1)+"]=f;" +c+"}; mod.m=1;return mod;"; if (type===2) c = "const mod=(f,g) => {let e2=[...def]; e2["+I+"]=mod;e2["+(I+1)+"]=f;e2["+(I+2)+"]=g;"+c+"}; mod.m=2;return mod;"; return Function("'use strict'; return (chkM,chkR,has,call,get,set,list,O,def) => D => oe => {"+c+"};")() (chkM,chkR,has,call,get,set,list,O,def); }); D.forEach((d,i) => {D[i]=d(D)}); return D[0]([]); } // Runtime let assertFn = pre => (x,w) => { if (x!==1) throw Error(pre + (has(w)?(pre?": ":"")+w.join(""):"")); return x; } let arr = (r,sh) => {r.sh=sh;return r;} let list = l => arr(l,[l.length]); let str = s => list(Array.from(s)); let m1 = m => {m.m=1;return m;} let m2 = m => {m.m=2;return m;} let ctrans = (c,t) => String.fromCodePoint(c.codePointAt(0)+t); let plus = (x,w) => { if (!has(w)) return x; let s=typeof w, t=typeof x; if (s==="number" && t==="number") return w+x; if (s==="number" && t==="string") return ctrans(x,w); if (s==="string" && t==="number") return ctrans(w,x); if (s==="string" && t==="string") throw Error("+: Cannot add two characters"); throw Error("+: Cannot add non-data values"); } let minus = (x,w) => { if (typeof x!=="number") { if (has(w)&&typeof w==="string") return w.codePointAt(0)-x.codePointAt(0); throw Error("-: Can only negate numbers"); } if (!has(w)) return -x; let s=typeof w; if (s==="number") return w-x; if (s==="string") return ctrans(w,-x); throw Error("-: Cannot subtract from non-data value"); } let lesseq = (x,w) => { let s=typeof w, t=typeof x; return +(s!==t ? s<=t : w<=x); } let table = m1(f => (x,w) => !has(w) ? arr(x.map(e=>call(f,e)),x.sh) : arr([].concat.apply([],w.map(d=>x.map(e=>call(f,e,d)))),w.sh.concat(x.sh))); let scan = m1(f => (x,w) => { if (has(w)) throw Error("`: No dyadic form"); let s=x.sh; if (!s||s.length===0) throw Error("`: 𝕩 must have rank at least 1"); let l=x.length,r=Array(l); if (l>0) { let c=1;for(let i=1;i { // ≠¨⊔ for a valid list argument let l=x.reduce((a,b)=>Math.max(a,b),-1); let r=Array(l+1).fill(0); x.map(e=>{if(e>=0)r[e]+=1;}); return list(r); } let group_ord = (x,w) => { // ∾⊔x assuming w=group_len(x) let l=0,s=w.map(n=>{let l0=l;l+=n;return l0;}); let r=Array(l); x.map((e,i)=>{if(e>=0)r[s[e]++]=i;}); return list(r); } let provide = [ (x,w) => x.sh?1:0 // IsArray ,(x,w) => 0 // Type ,(x,w) => has(w)?Math.log(x)/Math.log(w):Math.log(x) // Log ,group_len // GroupLen ,group_ord // GroupOrd ,assertFn("") // ! ,plus // + ,minus // - ,(x,w) => w*x // × ,(x,w) => (has(w)?w:1)/x // ÷ ,(x,w) => has(w)?Math.pow(w,x):Math.exp(x) // ⋆ ,(x,w) => Math.floor(x) // ⌊ ,(x,w) => has(w)?+(x===w):x.sh?x.sh.length:0 // = ,lesseq // ≤ ,(x,w) => list(x.sh) // ≢ ,(x,w) => arr(x.slice(),has(w)?w:[x.length]) // ⥊ ,(x,w) => x[w] // ⊑ ,(x,w) => list(Array(x).fill().map((_,i)=>i)) // ↕ ,table // ⌜ ,scan // ` ,m2((f,g)=>(x,w)=>has(w)?call(g,x,w):call(f,x,w)) // ⊘ ]; let runtime = run( new Uint8Array([15,1,22,0,0,11,14,15,2,22,0,1,11,14,15,3,0,20,15,4,8,22,0,2,11,14,15,5,22,0,3,11,14,15,6,22,0,4,11,14,15,7,22,0,5,11,14,15,8,22,0,6,11,14,15,9,22,0,7,11,14,15,10,22,0,8,11,14,15,11,22,0,9,11,14,0,12,21,0,7,0,11,8,0,21,3,2,21,0,0,0,0,8,22,0,10,11,14,0,12,21,0,7,0,11,8,0,8,0,13,21,0,7,0,21,8,19,0,21,3,2,21,0,0,0,0,8,22,0,11,11,14,15,12,0,15,3,2,21,0,0,0,0,8,22,0,12,11,14,15,13,0,20,15,14,8,22,0,13,11,14,15,15,22,0,14,11,14,0,0,0,7,0,22,19,21,0,9,21,0,14,8,22,0,15,11,14,21,0,4,0,13,7,22,0,16,11,14,21,0,16,0,7,0,22,19,0,20,21,0,14,8,22,0,17,11,14,0,13,0,7,0,22,19,22,0,18,11,14,15,16,0,16,21,0,18,19,0,20,0,11,8,22,0,19,11,14,15,17,0,16,21,0,17,19,0,20,0,7,21,0,5,21,0,19,21,0,5,0,7,8,8,8,22,0,20,11,14,0,7,21,0,1,3,2,21,0,0,0,13,21,0,7,0,21,8,8,22,0,21,11,14,0,22,0,14,0,16,0,21,19,3,2,21,0,0,0,12,21,0,17,0,21,19,8,22,0,22,11,14,15,18,22,0,23,11,14,21,0,23,22,0,24,11,14,0,14,21,0,8,15,19,8,22,0,25,11,14,15,20,22,0,26,11,14,15,21,15,22,3,2,21,0,0,21,0,1,21,0,5,0,12,8,0,12,0,22,19,8,22,0,27,11,14,21,0,27,22,0,28,11,14,15,23,22,0,29,11,14,15,24,22,0,30,11,14,0,13,0,7,21,0,16,19,22,0,31,11,14,0,22,0,15,0,16,0,21,19,21,0,8,0,13,0,8,0,23,19,0,7,0,22,19,15,25,3,2,21,0,0,21,0,1,21,0,5,0,0,8,8,8,3,2,21,0,0,21,0,1,21,0,5,0,14,8,21,0,24,0,8,7,0,22,19,21,0,17,0,21,19,8,22,0,32,11,14,21,0,31,21,0,32,21,0,4,21,0,32,7,0,7,9,3,2,21,0,0,21,0,2,21,0,5,0,0,8,8,15,26,3,3,21,0,0,0,0,21,0,6,0,6,8,8,22,0,33,11,14,15,27,22,0,34,11,14,15,28,22,0,35,11,14,0,12,21,0,17,0,21,19,21,0,9,15,29,8,22,0,36,11,14,0,12,21,0,17,0,21,19,21,0,9,15,30,8,22,0,37,11,14,15,31,22,0,38,11,14,15,32,22,0,39,11,14,15,33,22,0,40,11,14,15,34,22,0,41,11,14,15,35,22,0,42,11,14,15,36,22,0,43,11,14,15,37,22,0,44,11,14,15,38,22,0,45,11,14,0,0,21,0,6,0,12,8,0,21,3,2,21,0,1,21,0,5,0,0,8,0,12,3,2,0,12,21,0,6,0,12,8,0,21,3,2,0,14,21,0,6,21,0,45,0,12,7,8,21,0,24,0,8,7,0,22,19,0,21,3,2,15,39,3,5,21,0,24,15,40,7,16,22,0,46,11,14,0,21,15,41,3,2,21,0,0,0,0,8,22,0,47,11,14,21,0,46,0,20,21,0,47,8,22,0,48,11,14,21,0,46,0,7,0,22,19,0,20,3,0,0,14,3,2,21,0,0,0,0,8,8,22,0,49,11,14,0,0,21,0,9,0,15,21,0,5,21,0,22,8,21,0,17,0,21,19,21,0,9,15,42,8,8,22,0,50,11,14,15,43,21,0,9,15,44,15,45,3,2,21,0,0,0,22,0,18,0,12,0,12,0,22,19,7,21,0,24,0,8,7,0,22,19,0,7,0,22,19,3,2,21,0,0,0,12,0,12,0,22,19,8,8,8,22,0,51,11,14,15,46,22,0,52,11,14,21,0,52,0,54,21,0,21,21,0,8,0,12,8,0,7,0,22,19,15,47,3,3,7,22,0,53,11,14,21,0,52,0,55,0,12,21,0,7,0,21,8,0,7,0,22,19,15,48,3,3,7,22,0,54,11,14,15,49,22,0,55,11,14,15,50,22,0,56,11,14,15,51,22,0,57,11,14,15,52,22,0,58,11,14,15,53,22,0,59,11,14,15,54,22,0,60,11,14,15,55,22,0,61,11,14,21,0,30,0,9,7,22,0,62,11,14,21,0,30,0,10,7,22,0,63,11,14,21,0,4,21,0,62,21,0,8,21,0,63,8,7,0,20,0,23,21,0,62,16,21,0,8,21,0,63,8,8,22,0,64,11,14,21,0,30,15,56,0,20,21,0,21,8,7,22,0,65,11,14,21,0,30,15,57,0,20,21,0,19,8,7,22,0,66,11,14,21,0,30,15,58,0,20,0,7,21,0,5,21,0,66,21,0,5,0,7,8,8,8,7,22,0,67,11,14,21,0,30,0,8,7,0,20,21,0,42,0,21,7,8,22,0,68,11,14,21,0,30,0,8,0,7,0,6,19,7,0,20,21,0,42,0,22,7,8,22,0,69,11,14,21,0,30,0,8,0,20,21,0,18,0,7,21,0,17,19,21,0,7,0,21,8,8,7,22,0,70,11,14,21,0,30,21,0,16,0,7,0,22,19,7,0,20,21,0,14,8,22,0,71,11,14,21,0,30,0,13,0,7,0,22,19,7,0,20,21,0,50,8,22,0,72,11,14,21,0,30,0,12,0,7,0,22,19,7,0,20,21,0,22,8,22,0,73,11,14,21,0,30,0,12,7,0,20,0,12,8,22,0,74,11,14,21,0,30,21,0,16,7,0,20,21,0,3,0,21,7,0,5,0,68,19,8,22,0,75,11,14,21,0,30,0,13,7,0,20,21,0,3,0,21,7,0,5,0,69,19,8,22,0,76,11,14,21,0,30,0,6,7,22,0,77,11,14,21,0,30,0,7,7,22,0,78,11,14,21,0,78,21,0,77,0,22,19,22,0,79,11,14,21,0,77,0,21,3,2,21,0,78,0,21,3,2,21,0,70,0,22,3,2,21,0,62,0,22,3,2,21,0,63,0,22,3,2,21,0,64,0,22,3,2,21,0,68,0,22,3,2,21,0,69,0,21,3,2,21,0,79,0,22,3,2,21,0,65,0,21,3,2,21,0,66,0,29,3,2,21,0,67,0,28,3,2,21,0,71,0,21,3,2,21,0,76,0,22,3,2,21,0,74,0,22,3,2,21,0,75,0,22,3,2,21,0,72,0,21,3,2,21,0,73,0,21,3,2,3,18,21,0,24,15,59,7,21,0,4,0,21,7,0,5,0,70,19,3,1,0,16,0,21,17,17,22,0,80,11,14,15,60,22,0,81,11,14,0,15,0,20,21,0,12,8,22,0,82,11,14,15,61,22,0,83,11,14,15,62,22,0,84,11,14,15,63,22,0,85,11,14,15,64,22,0,86,11,14,15,65,22,0,87,11,14,21,0,87,22,0,88,11,14,21,0,82,21,0,6,21,0,26,8,15,66,3,2,21,0,0,21,0,74,21,0,71,0,22,19,21,0,6,21,0,69,8,8,22,0,89,11,14,21,0,28,21,0,7,21,0,35,8,22,0,90,11,14,21,0,73,21,0,74,0,21,19,21,0,78,0,22,19,21,0,61,15,67,15,68,3,2,21,0,0,21,0,2,21,0,5,0,0,8,8,8,22,0,91,11,14,21,0,53,0,20,21,0,40,8,22,0,92,11,14,21,0,54,0,20,21,0,41,8,22,0,93,11,14,21,0,59,0,20,21,0,83,8,22,0,94,11,14,0,21,21,0,61,21,0,39,8,0,20,21,0,38,8,22,0,95,11,14,21,0,91,0,20,21,0,35,8,22,0,96,11,14,21,0,56,0,20,21,0,56,21,0,7,21,0,58,8,8,22,0,97,11,14,21,0,57,0,20,21,0,57,21,0,7,21,0,58,8,8,22,0,98,11,14,15,69,22,0,99,11,14,15,70,22,0,100,11,14,15,71,22,0,101,11,14,15,72,22,0,102,11,14,21,0,102,15,73,3,2,21,0,0,21,0,2,21,0,5,21,0,82,21,0,5,0,18,0,0,7,8,8,21,0,24,21,0,69,7,9,8,22,0,103,11,14,21,0,103,21,0,7,21,0,82,21,0,1,3,2,21,0,0,0,0,8,8,22,0,104,11,14,15,74,22,0,105,11,14,15,75,22,0,106,11,14,15,76,22,0,107,11,14,15,77,22,0,108,11,14,21,0,85,22,0,109,11,14,21,0,86,22,0,110,11,14,21,0,108,21,0,33,7,0,20,0,21,21,0,34,21,0,33,8,8,22,0,111,11,14,21,0,108,21,0,4,21,0,33,7,7,0,20,0,22,21,0,34,21,0,4,21,0,33,7,8,8,22,0,112,11,14,15,78,22,0,113,11,14,0,4,21,0,7,21,0,45,0,22,7,8,22,0,114,11,14,15,79,22,0,115,11,14,21,0,115,21,0,1,21,0,5,0,19,21,0,77,7,8,21,0,4,21,0,78,7,0,22,19,21,0,4,21,0,28,7,21,0,4,21,0,96,21,0,5,21,0,111,21,0,5,21,0,114,8,8,7,19,7,22,0,116,11,14,15,80,22,0,117,11,14,21,0,13,21,0,5,21,0,72,8,22,0,118,11,14,21,0,89,0,20,21,0,51,8,22,0,119,11,14,21,0,101,0,20,21,0,100,8,22,0,120,11,14,21,0,113,0,22,7,0,20,21,0,116,8,22,0,121,11,14,21,0,4,21,0,113,0,21,7,7,0,20,21,0,115,21,0,1,7,8,22,0,122,11,14,15,81,22,0,123,11,14,15,82,22,0,124,11,14,15,83,22,0,125,11,14,15,84,22,0,126,11,14,21,0,125,0,20,21,0,36,8,22,0,127,11,14,21,0,111,21,0,5,21,0,111,8,21,0,28,21,0,78,21,0,1,19,21,0,4,21,0,121,7,19,22,0,128,1,11,14,15,85,22,0,129,1,11,14,0,22,21,0,61,21,0,43,8,21,0,7,21,0,15,8,0,20,21,0,27,21,0,7,0,21,21,0,71,16,8,8,22,0,130,1,11,14,21,0,104,0,20,21,0,82,0,16,0,21,19,8,22,0,131,1,11,14,15,86,22,0,132,1,11,14,0,5,21,0,7,0,103,8,22,0,133,1,11,14,0,5,21,0,7,0,104,8,22,0,134,1,11,14,15,87,22,0,135,1,11,14,15,88,22,0,136,1,11,14,15,89,22,0,137,1,11,14,21,0,77,21,0,4,21,0,78,7,0,20,21,0,77,8,21,0,78,21,0,78,21,0,70,21,0,4,21,0,62,7,0,20,21,0,1,8,21,0,62,21,0,62,21,0,63,21,0,30,0,2,7,21,0,64,21,0,4,21,0,63,7,0,20,21,0,4,21,0,70,7,8,21,0,68,21,0,4,21,0,62,7,0,20,21,0,68,21,0,135,1,21,0,1,8,8,21,0,69,21,0,2,21,0,78,0,22,19,21,0,62,21,0,4,21,0,78,7,19,0,20,21,0,69,21,0,135,1,21,0,1,8,8,21,0,79,21,0,79,21,0,71,0,21,21,0,5,21,0,133,1,8,0,20,15,90,8,21,0,1,21,0,1,21,0,2,21,0,48,21,0,5,21,0,134,1,8,21,0,2,21,0,1,19,0,20,21,0,1,8,21,0,119,15,91,0,20,0,21,21,0,5,21,0,133,1,8,8,21,0,118,15,92,0,20,15,93,8,21,0,92,0,21,21,0,5,21,0,133,1,8,0,20,21,0,92,21,0,135,1,21,0,131,1,21,0,7,0,27,8,8,8,21,0,93,0,21,21,0,5,21,0,133,1,8,0,20,21,0,93,21,0,135,1,21,0,131,1,8,8,21,0,94,0,21,21,0,5,21,0,133,1,8,0,20,21,0,94,21,0,135,1,21,0,49,8,8,21,0,95,21,0,95,21,0,7,21,0,78,8,0,20,21,0,95,8,21,0,127,21,0,126,0,20,21,0,37,8,21,0,96,0,21,21,0,5,21,0,133,1,8,0,20,15,94,8,21,0,120,21,0,137,1,0,20,21,0,136,1,8,3,42,21,0,82,21,0,7,21,0,73,21,0,4,21,0,62,7,0,23,19,21,0,4,21,0,119,7,0,23,19,8,16,21,0,127,16,15,95,16,22,0,138,1,11,14,15,96,22,0,139,1,11,14,15,97,22,0,140,1,11,14,21,0,71,21,0,121,21,0,5,21,0,131,1,8,21,0,5,21,0,66,21,0,95,21,0,92,3,4,19,22,0,141,1,11,14,21,0,140,1,22,0,142,1,11,14,21,0,81,0,20,21,0,12,8,22,0,143,1,11,14,15,98,22,0,144,1,11,14,21,0,44,22,0,145,1,11,14,21,0,129,1,0,20,21,0,128,1,8,22,0,146,1,11,14,21,0,117,0,20,21,0,96,21,0,7,21,0,122,8,8,22,0,147,1,11,14,21,0,77,21,0,78,21,0,70,21,0,62,21,0,63,21,0,64,21,0,66,21,0,67,21,0,65,21,0,79,21,0,68,21,0,69,21,0,71,21,0,72,21,0,73,21,0,74,21,0,76,21,0,75,21,0,48,21,0,49,21,0,2,21,0,1,21,0,143,1,21,0,119,21,0,118,21,0,92,21,0,93,21,0,94,21,0,98,21,0,97,21,0,95,21,0,127,21,0,96,21,0,111,21,0,112,21,0,130,1,21,0,131,1,21,0,121,21,0,146,1,21,0,122,21,0,147,1,21,0,120,0,5,21,0,3,21,0,4,21,0,60,21,0,45,21,0,144,1,21,0,139,1,21,0,24,21,0,88,0,19,21,0,5,21,0,6,21,0,7,21,0,8,21,0,145,1,0,20,21,0,132,1,21,0,110,21,0,109,21,0,142,1,3,62,25,21,0,1,15,99,21,0,5,0,16,21,0,1,21,0,4,21,0,2,17,17,7,21,0,2,17,25,21,0,1,25,21,0,2,25,21,0,1,25,21,0,1,14,21,0,4,25,21,0,1,21,1,2,21,0,2,17,21,0,4,21,0,1,17,25,21,0,1,21,0,5,21,0,2,17,21,0,4,16,25,21,0,1,21,0,5,16,21,0,4,21,0,2,21,0,5,16,17,25,21,0,1,21,0,5,21,0,1,21,1,2,21,0,2,17,21,0,4,16,17,25,21,0,1,21,0,5,16,21,0,4,21,0,1,21,1,2,21,0,2,17,17,25,21,0,1,15,100,21,1,1,21,0,4,3,2,0,16,21,0,1,21,0,5,21,0,2,17,17,7,21,0,2,17,25,21,0,1,3,1,25,21,0,2,21,0,1,3,2,25,21,0,1,3,1,25,21,0,1,3,1,0,15,3,0,17,25,21,0,2,21,0,1,3,2,25,21,0,2,21,0,1,3,2,25,21,0,1,0,12,16,0,12,0,22,17,0,5,0,31,17,14,21,0,1,22,0,5,11,21,1,22,16,22,0,6,11,14,21,0,4,22,0,7,11,14,21,0,1,21,1,2,0,20,15,101,15,102,3,2,21,1,0,21,0,6,21,1,17,0,21,17,8,8,21,0,2,17,22,0,8,11,14,21,0,6,0,17,16,0,18,0,7,21,1,7,0,22,0,7,21,0,6,17,8,7,16,0,18,15,103,7,16,14,21,0,8,25,21,0,2,0,7,21,0,1,21,1,22,16,17,0,17,16,0,18,21,1,3,21,0,1,7,0,16,0,6,21,1,7,21,0,2,8,19,7,16,25,21,0,2,21,1,22,16,22,0,3,11,14,21,0,1,21,1,22,16,0,6,21,0,3,17,0,17,16,0,18,21,0,2,21,1,8,0,16,8,21,1,4,21,0,1,7,0,16,21,0,3,21,1,8,0,7,8,19,3,2,21,1,0,0,13,21,1,7,21,0,3,8,8,7,16,25,21,0,1,21,1,25,0,22,17,22,0,3,11,21,1,24,0,8,7,0,22,17,22,0,4,11,14,21,0,4,0,17,16,0,15,21,0,3,17,0,18,0,6,21,1,7,0,8,21,1,7,21,0,4,8,8,21,1,4,0,16,7,21,0,1,0,15,16,19,7,21,0,2,17,25,21,0,2,0,18,21,0,1,21,1,8,0,16,8,7,16,25,15,104,22,0,2,11,14,15,105,22,0,3,11,14,21,0,3,21,0,1,7,21,1,4,21,0,3,21,1,4,21,0,1,7,7,7,3,2,21,1,0,0,12,21,1,6,21,1,18,8,8,21,0,2,21,0,1,7,3,2,21,1,0,0,12,21,1,6,0,12,8,8,25,15,106,21,0,1,7,22,0,2,11,14,21,0,1,15,107,15,108,3,2,21,1,0,0,0,21,1,6,21,1,18,8,8,0,20,0,18,21,0,2,7,8,21,1,29,21,0,2,7,3,3,21,1,0,0,0,21,1,6,0,6,8,8,25,21,0,1,21,1,32,21,0,2,17,25,21,0,1,0,14,21,1,6,21,1,105,8,21,0,2,17,22,0,3,11,14,21,0,3,21,1,24,21,1,106,21,0,1,0,15,16,21,1,8,0,16,8,21,1,8,21,1,33,21,1,7,21,0,2,0,15,16,21,1,8,0,16,8,8,8,7,7,16,22,0,4,11,14,0,21,21,1,4,21,0,4,7,16,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,34,17,14,21,0,1,21,1,22,16,22,0,6,11,14,21,0,1,21,1,25,0,22,17,21,1,24,0,8,7,0,22,17,22,0,7,11,14,21,0,1,0,15,16,22,0,8,11,14,0,21,22,0,9,11,22,0,10,11,14,21,0,8,0,21,0,18,21,1,10,7,21,1,24,0,8,7,0,22,19,3,2,21,1,0,21,0,6,21,1,17,0,24,17,0,8,0,22,0,12,21,0,7,17,17,8,16,21,1,1,21,1,9,21,0,1,21,1,8,15,109,8,8,16,0,7,0,22,17,22,0,11,11,14,21,0,1,0,18,21,0,10,21,1,8,0,7,8,0,7,21,1,7,21,0,9,8,3,2,0,16,21,0,5,17,7,0,4,21,1,7,0,3,8,9,15,110,21,0,4,7,3,2,21,1,0,21,0,11,8,16,25,21,0,1,0,12,16,0,12,0,22,17,0,5,0,35,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,1,21,0,3,21,1,17,0,21,17,21,1,9,15,111,8,16,25,21,0,1,21,1,22,16,22,0,3,11,14,21,0,1,21,1,25,0,22,17,22,0,4,11,21,1,24,0,8,7,0,22,17,22,0,5,11,14,21,0,3,0,17,16,0,18,21,1,3,21,0,1,0,15,16,7,0,16,0,8,21,1,7,21,0,5,8,21,1,8,0,6,8,19,7,21,0,5,0,17,16,0,15,21,0,4,17,17,25,21,0,1,0,12,16,21,1,4,0,7,7,0,22,17,22,0,3,11,14,21,0,1,0,14,16,22,0,4,11,14,21,0,4,0,16,21,0,3,17,22,0,5,11,14,21,0,3,0,17,16,0,18,21,0,4,21,1,8,0,16,8,7,16,22,0,6,11,14,21,0,6,21,1,24,0,8,7,0,22,17,0,17,16,0,15,21,0,6,17,0,18,21,1,3,21,0,1,0,15,16,7,0,16,0,8,21,1,7,21,0,5,8,21,1,8,0,6,8,19,7,21,0,5,0,17,16,17,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,37,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,1,21,1,28,21,0,3,0,17,16,0,18,0,7,21,1,7,0,22,0,7,21,0,3,17,8,7,16,17,25,21,0,2,21,1,10,16,0,5,0,38,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,3,0,9,21,0,2,17,21,1,19,16,0,8,21,0,3,17,0,7,22,0,2,13,14,21,0,1,21,1,28,21,0,3,0,17,16,0,18,21,1,1,0,13,21,0,2,0,7,21,0,3,17,19,0,8,21,0,3,19,0,7,21,1,1,19,0,6,21,0,2,19,7,16,17,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,39,17,14,21,0,1,21,1,22,16,0,6,0,22,17,0,17,16,0,18,21,0,1,21,1,8,21,1,28,21,1,7,0,17,8,8,7,16,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,40,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,3,0,6,0,22,17,0,17,16,0,18,21,0,1,21,1,8,21,1,28,21,1,7,15,112,8,8,7,16,25,21,1,28,21,1,7,21,0,1,21,1,34,21,1,33,21,1,4,21,1,33,7,3,2,0,16,21,0,1,17,8,8,25,21,0,2,0,0,16,0,5,0,41,17,14,21,0,2,0,18,21,1,10,7,16,0,15,16,21,1,24,0,8,7,0,22,17,0,5,0,42,17,14,21,0,1,21,1,22,16,22,0,3,11,14,21,0,2,0,18,21,1,18,21,1,7,21,0,3,8,0,8,0,13,21,1,7,21,0,3,0,7,16,8,19,7,16,0,15,16,21,1,24,0,8,7,0,22,17,0,5,0,43,17,14,21,0,1,21,1,28,21,1,7,0,18,21,1,1,21,1,18,0,21,19,0,8,21,0,3,19,0,6,21,1,1,19,7,8,21,0,2,17,25,21,0,1,0,14,16,22,0,6,11,21,1,24,0,8,7,0,22,17,22,0,7,11,0,17,16,22,0,8,11,14,21,0,1,21,0,5,21,1,6,21,0,4,8,21,0,2,17,22,0,9,11,14,21,0,8,0,15,21,0,6,17,21,0,5,16,22,0,10,11,14,15,113,0,15,3,2,0,16,21,0,10,0,0,16,17,22,0,11,11,14,21,0,9,21,0,11,16,22,0,9,12,14,21,0,10,21,0,11,16,22,0,10,12,14,21,0,10,0,21,21,1,34,21,1,31,8,16,22,0,12,11,14,21,1,4,21,0,10,7,0,16,21,0,12,21,1,8,0,16,8,19,21,0,7,3,2,21,1,0,0,13,21,1,7,21,0,12,21,1,22,16,8,8,22,0,13,11,14,0,21,22,0,14,11,21,0,13,16,22,0,15,11,14,21,0,8,0,18,21,0,1,0,15,16,21,1,8,0,16,8,15,114,3,2,21,1,0,15,115,8,7,16,0,15,21,0,6,17,25,21,1,15,21,1,6,21,1,29,21,0,1,7,0,20,0,18,21,0,1,7,8,8,25,21,0,1,21,1,45,21,1,46,7,21,0,2,17,0,15,16,21,1,24,0,8,7,0,22,17,25,21,0,2,0,16,0,22,17,21,0,1,3,2,21,1,0,21,0,2,0,16,0,21,17,8,25,21,0,1,0,15,16,0,18,21,1,47,7,16,21,1,24,0,7,0,8,0,13,19,0,7,21,1,2,19,7,0,21,17,0,6,0,22,17,25,21,0,1,0,15,16,0,16,0,21,17,21,1,49,16,22,0,3,11,14,21,0,1,0,15,16,0,18,21,1,49,21,1,48,21,0,3,19,7,16,21,1,24,0,8,7,0,22,17,0,5,0,44,17,14,21,0,3,21,1,24,0,8,7,0,22,17,0,17,16,0,15,21,0,3,17,0,18,21,1,4,21,1,12,21,1,8,0,16,8,7,7,21,0,1,17,25,21,0,1,0,0,16,0,5,0,49,17,14,21,0,1,0,15,16,21,1,22,16,21,1,17,0,21,17,25,0,27,22,0,3,11,22,0,4,11,14,3,0,22,0,5,11,14,21,0,1,22,0,6,11,14,21,0,1,0,18,21,1,22,7,16,21,1,35,16,0,18,15,116,7,16,25,21,0,1,0,15,16,22,0,3,11,21,1,22,16,22,0,4,11,14,21,0,3,0,18,21,1,49,7,16,22,0,5,11,14,21,0,5,0,16,0,21,17,21,1,22,16,22,0,6,11,14,21,0,1,0,12,16,22,0,7,11,14,21,0,5,0,18,21,1,22,0,12,21,0,6,19,7,16,21,1,24,0,8,7,0,22,17,0,5,0,45,17,14,21,0,7,21,1,16,21,0,6,17,0,5,0,46,17,14,15,117,22,0,8,11,14,21,0,1,21,1,49,16,22,0,9,11,14,0,22,22,0,10,11,14,0,21,21,1,17,16,22,0,11,11,22,0,12,11,14,21,0,7,0,17,16,21,1,45,15,118,7,21,0,9,21,1,38,16,21,0,8,0,8,7,0,22,17,21,1,38,16,17,14,21,1,45,15,119,21,0,3,0,18,0,15,7,16,7,7,22,0,13,11,14,21,0,11,21,0,13,15,120,3,2,21,1,0,21,0,6,21,1,17,21,0,7,17,8,21,0,12,17,25,21,0,1,22,0,2,22,0,3,22,0,4,4,3,11,14,0,51,21,1,26,21,0,2,17,21,1,26,0,50,17,22,0,5,11,14,0,52,22,0,6,11,14,0,53,22,0,7,11,14,15,121,25,21,0,1,21,1,21,16,22,0,5,11,21,1,17,21,1,7,21,0,2,8,21,1,9,21,0,4,8,16,14,21,0,5,0,17,16,0,18,21,0,1,0,6,21,0,2,17,21,1,8,0,6,8,7,0,18,0,21,21,1,8,21,1,17,8,21,1,9,0,28,8,7,9,0,18,0,13,21,1,7,21,0,2,8,21,1,9,0,28,8,7,3,2,21,1,0,21,0,1,21,1,17,0,21,17,8,16,25,21,0,1,14,0,6,21,1,20,0,21,19,0,17,9,0,7,21,1,20,0,21,19,0,17,9,0,18,0,6,7,21,1,1,21,1,5,21,1,17,8,19,3,2,21,1,0,21,1,17,21,1,7,0,21,8,8,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,56,17,14,21,0,2,0,12,21,1,6,0,7,8,21,0,1,17,22,0,3,11,14,21,0,3,0,13,0,21,17,0,5,0,57,17,14,21,0,3,21,1,16,0,22,17,0,5,0,58,17,14,21,0,1,21,1,25,0,22,17,22,0,4,11,14,21,0,4,21,1,22,16,0,17,16,0,18,21,1,3,21,0,2,21,1,49,16,7,0,16,21,0,3,0,7,0,22,17,21,1,8,0,6,8,19,0,12,21,0,4,21,1,8,0,16,8,19,7,16,21,1,24,0,8,7,0,22,17,0,5,0,59,17,14,21,0,4,21,1,24,0,8,7,0,22,17,25,21,0,1,21,1,55,21,0,2,17,22,0,3,11,14,21,0,2,0,22,21,1,22,3,2,21,1,0,21,1,1,0,12,21,1,6,0,13,8,21,0,1,19,8,16,0,8,21,0,3,17,22,0,4,11,14,21,0,1,21,1,22,16,0,8,21,0,3,17,0,17,16,0,18,21,0,2,21,1,12,16,21,1,8,0,16,8,21,1,3,21,0,1,0,15,16,7,0,16,21,0,4,21,1,8,0,7,8,19,3,2,21,1,0,0,13,21,1,7,21,0,4,8,8,7,16,0,15,21,0,1,21,1,49,16,17,25,21,0,1,21,1,55,21,0,2,17,22,0,3,11,14,21,0,1,21,1,22,16,0,8,21,0,3,17,22,0,4,11,14,21,0,2,0,22,21,1,22,3,2,21,1,0,21,1,1,0,12,21,1,6,0,13,8,21,0,1,19,8,16,0,8,21,0,3,17,22,0,5,11,14,21,0,5,0,7,21,0,4,17,22,0,6,11,14,21,0,4,0,17,16,0,18,21,1,3,21,0,1,0,15,16,7,0,16,21,0,5,21,1,8,0,6,8,19,21,1,3,21,0,2,21,1,12,16,7,0,16,21,0,6,21,1,8,0,7,8,19,3,2,21,1,0,0,13,21,1,7,21,0,6,8,8,7,16,0,15,21,0,1,21,1,49,16,17,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,56,17,14,21,0,1,21,1,25,0,22,17,21,1,1,21,1,24,0,8,7,0,22,19,0,17,9,21,1,8,0,15,8,16,0,18,21,0,1,0,1,16,7,16,25,21,0,1,0,0,16,0,5,0,60,17,14,21,0,2,0,12,16,21,1,16,0,22,17,0,5,0,61,17,14,21,0,2,21,1,12,16,22,0,2,12,21,1,22,16,22,0,3,11,14,21,0,1,21,0,3,21,1,17,0,21,17,21,1,9,15,122,8,21,0,2,17,25,0,27,21,1,86,21,0,1,8,25,21,0,1,22,0,3,11,14,15,123,15,124,3,2,21,1,0,21,1,2,21,1,5,21,1,48,21,1,17,21,0,2,19,8,8,25,21,0,2,21,1,62,21,0,1,17,21,1,19,16,0,8,21,0,2,17,0,7,21,0,1,17,25,21,0,2,21,0,1,3,2,0,16,21,0,1,21,1,18,21,0,2,17,17,25,21,0,2,21,0,1,3,2,0,16,21,0,1,21,1,17,21,0,2,17,17,25,21,0,1,21,0,2,0,16,0,22,17,3,2,21,1,0,15,125,21,0,2,0,16,0,21,17,7,8,25,21,0,2,21,1,74,16,21,1,75,0,22,17,0,5,0,71,17,14,21,0,2,21,1,12,16,22,0,3,11,14,21,0,3,0,18,21,1,11,7,16,21,1,79,16,22,0,4,11,21,1,24,21,1,77,7,16,22,0,5,11,14,21,0,5,21,1,75,0,22,17,0,5,0,72,17,14,21,0,1,21,1,12,16,22,0,6,11,21,1,73,16,22,0,7,11,14,21,0,3,21,1,24,21,1,70,7,15,126,3,2,21,1,0,21,0,5,8,16,22,0,8,11,14,21,0,6,21,0,7,21,1,73,21,0,8,17,21,1,9,15,127,8,16,0,15,21,0,3,17,25,15,128,1,22,0,3,11,14,15,129,1,22,0,4,11,14,21,0,1,21,0,3,21,0,4,3,2,21,1,0,0,0,8,16,25,21,0,1,21,1,5,21,1,82,8,21,1,1,21,1,5,21,1,71,8,21,1,45,0,16,7,21,1,73,21,1,8,21,1,4,21,1,65,21,1,77,0,22,19,21,1,78,21,1,2,19,7,8,19,0,22,0,21,3,2,0,20,0,23,3,1,8,19,25,21,0,1,21,1,84,21,0,5,7,21,0,2,17,22,0,6,11,21,1,72,0,21,17,22,0,7,11,14,21,0,4,22,0,8,11,14,15,130,1,22,0,9,11,14,21,0,1,21,0,9,21,0,6,7,21,0,2,17,25,21,0,1,21,1,84,21,0,5,7,21,1,45,21,1,78,21,1,8,21,1,66,8,21,1,78,21,1,67,0,21,19,3,2,21,1,0,21,1,1,21,1,76,0,21,19,8,7,21,1,74,21,1,6,21,1,13,8,19,21,0,2,17,22,0,6,11,14,15,131,1,22,0,7,11,14,21,1,1,21,1,71,9,21,0,7,21,1,1,0,18,21,1,71,7,9,3,3,21,1,0,21,1,74,21,1,8,21,1,75,8,21,1,77,0,22,19,21,1,70,0,21,21,1,8,21,1,72,8,19,8,22,0,7,12,14,21,0,1,21,0,7,21,0,6,0,16,21,1,7,21,1,73,21,1,4,21,1,78,7,0,22,19,8,16,17,21,1,45,21,0,4,7,21,0,2,21,0,7,21,0,6,0,16,0,21,17,17,17,21,1,72,16,25,21,0,1,21,1,74,16,21,1,76,0,22,17,0,5,0,78,17,14,21,0,1,21,1,60,21,1,71,7,16,21,1,24,21,0,4,7,21,0,2,17,25,21,0,1,21,1,49,21,1,6,21,1,13,8,21,0,2,17,22,0,3,11,14,21,0,3,0,18,21,1,73,7,16,22,0,4,11,21,1,24,21,1,67,7,0,22,17,22,0,5,11,14,21,0,4,21,1,78,21,0,5,17,21,1,75,0,22,17,21,1,24,21,1,68,7,16,0,5,0,79,17,14,21,0,3,21,1,45,21,1,28,21,1,7,0,22,21,1,78,21,0,5,17,0,17,16,21,1,8,21,1,77,8,8,7,21,0,5,21,1,79,21,0,4,17,17,22,0,6,11,14,21,0,6,21,1,24,21,1,48,7,16,0,5,0,80,17,14,21,0,3,21,1,45,0,22,21,1,1,0,16,0,21,19,3,2,21,1,0,21,1,2,8,7,21,0,4,21,1,74,21,0,5,17,17,21,1,24,21,1,77,7,16,22,0,7,11,14,21,0,1,21,1,82,21,1,6,21,1,26,8,21,0,2,17,21,1,82,21,0,6,0,16,0,21,17,21,1,26,21,0,7,3,1,17,17,25,21,0,2,21,1,11,16,0,5,0,36,17,14,21,0,2,22,0,3,11,22,0,4,11,14,21,0,1,21,1,28,21,0,1,21,1,73,16,21,1,70,21,0,3,17,0,17,16,0,19,21,1,4,15,132,1,21,1,9,15,133,1,8,7,7,16,17,25,21,0,1,21,1,73,21,1,6,21,1,74,8,21,0,2,17,0,5,0,81,17,14,21,0,1,21,1,90,21,0,2,17,25,21,0,1,0,18,21,1,10,7,16,21,1,24,21,1,68,7,16,0,5,0,82,17,14,21,0,1,21,1,76,0,27,17,21,1,24,21,1,68,7,16,0,5,0,83,17,14,21,0,1,0,4,21,0,1,0,3,16,22,0,5,11,17,22,0,6,11,14,0,21,22,0,7,11,14,21,0,5,0,18,21,1,94,21,1,5,0,18,15,134,1,7,8,21,0,4,9,7,16,25,21,0,1,21,1,74,16,21,1,74,0,22,17,0,5,0,84,17,14,21,1,99,21,1,1,7,22,0,3,11,14,21,0,1,21,0,3,0,18,15,135,1,7,21,1,24,0,18,0,18,21,1,26,7,7,7,3,0,21,1,71,16,21,1,71,16,19,3,2,21,1,0,21,1,48,21,1,71,0,22,19,8,16,25,21,0,1,0,0,16,0,5,0,85,17,14,21,0,2,21,1,48,21,1,72,0,23,19,21,1,9,21,1,15,21,1,5,21,1,13,8,8,16,22,0,2,12,14,21,0,2,21,1,74,16,21,1,74,0,22,17,0,5,0,86,17,14,21,0,2,0,18,21,1,74,7,16,21,1,24,21,1,77,7,16,22,0,3,11,14,21,0,1,21,1,74,16,21,1,76,21,0,3,17,0,5,0,87,17,14,21,0,1,21,1,49,16,21,1,92,21,0,3,17,21,1,74,21,0,2,0,18,21,1,49,7,16,21,1,51,16,17,21,1,24,21,1,68,7,16,0,5,0,88,17,14,21,0,2,0,18,21,1,82,7,16,22,0,2,12,0,18,21,1,73,7,16,22,0,4,11,14,21,0,1,21,1,25,21,0,3,17,21,1,26,21,0,4,21,1,24,21,1,70,7,16,3,1,17,21,1,4,21,1,82,7,21,0,1,17,21,1,8,21,1,28,8,22,0,5,11,14,21,0,2,0,16,21,1,7,0,21,8,21,1,99,21,0,5,7,9,0,18,21,1,99,21,1,1,7,7,21,1,70,21,0,4,21,1,95,16,21,1,97,0,22,17,0,19,21,1,70,7,16,21,1,95,16,19,21,1,24,0,18,0,18,21,1,77,7,7,7,9,0,18,21,0,5,7,9,3,2,21,1,0,21,1,73,21,1,73,0,22,19,8,16,25,21,0,2,21,1,74,16,21,1,74,0,22,17,0,5,0,89,17,14,21,0,1,21,1,49,16,22,0,3,11,21,1,73,21,1,6,21,1,74,8,21,0,2,17,0,5,0,90,17,14,21,0,2,0,18,21,1,10,7,16,21,1,24,21,1,68,7,16,0,5,0,91,17,14,21,0,3,21,1,71,21,1,68,21,1,78,21,1,8,21,1,75,8,19,21,0,2,17,21,1,24,21,1,68,7,16,0,5,0,92,17,14,0,21,21,1,71,21,0,2,17,21,1,70,21,0,3,17,21,1,77,21,0,2,17,22,0,2,12,14,21,0,2,21,1,73,16,21,1,79,21,1,7,21,1,94,8,16,21,1,78,16,21,1,24,21,1,1,21,1,70,21,0,3,21,1,8,0,16,8,19,21,1,77,21,0,2,21,1,8,0,16,8,19,7,0,21,17,21,1,4,0,16,7,21,0,1,21,1,82,16,17,25,21,0,2,0,18,21,0,1,21,1,8,21,1,103,8,7,16,25,21,0,1,21,1,74,21,1,7,0,21,8,21,1,24,21,1,69,7,9,21,1,6,21,1,4,21,1,78,7,8,21,0,2,17,22,0,3,11,14,21,0,1,0,21,21,0,3,3,2,15,136,1,3,2,21,1,0,0,21,21,1,74,21,0,3,17,8,21,0,2,17,25,21,0,4,22,0,5,11,14,21,0,2,22,0,6,11,14,21,0,1,22,0,7,11,14,15,137,1,22,0,8,11,14,21,0,4,21,1,74,21,1,7,0,21,8,21,1,9,21,0,1,8,9,21,0,8,3,2,0,16,21,0,6,21,1,73,0,22,17,17,25,21,0,1,22,0,2,11,14,21,1,71,21,1,7,0,21,8,21,1,9,15,138,1,8,25,21,0,2,21,1,74,16,21,1,4,21,1,78,7,0,22,17,22,0,5,11,14,21,0,5,21,1,76,0,21,17,0,5,0,93,17,14,21,0,1,21,1,74,16,21,1,76,21,0,5,17,0,5,0,94,17,14,21,0,2,21,1,25,0,22,17,22,0,6,11,21,1,24,21,1,70,7,16,22,0,7,11,14,0,21,21,1,106,21,0,2,21,1,82,16,21,1,8,0,16,8,21,1,6,21,0,4,8,7,21,0,7,17,22,0,8,11,14,21,0,2,21,1,73,16,0,22,0,22,21,1,8,21,1,78,21,1,5,21,1,94,8,8,21,1,70,21,0,7,19,0,18,21,1,77,21,1,7,21,0,7,8,21,1,8,21,0,8,8,7,9,21,1,4,21,1,76,7,0,21,19,21,1,24,21,1,68,7,9,3,2,21,1,0,21,1,71,21,1,7,0,21,8,8,16,0,5,0,95,17,14,21,0,1,21,1,74,16,21,1,4,21,1,78,7,21,0,5,17,22,0,9,11,14,21,0,1,21,1,25,21,0,9,17,22,0,10,11,14,21,0,10,21,1,105,21,0,6,17,22,0,11,11,14,21,0,11,21,1,24,21,1,106,21,0,1,21,1,82,16,21,1,8,0,16,8,21,1,8,21,0,4,21,1,7,21,0,2,21,1,82,16,21,1,8,0,16,8,8,8,7,7,16,22,0,12,11,14,21,1,4,0,21,7,21,1,76,21,0,12,21,1,7,21,1,70,21,1,7,21,0,6,21,1,24,21,1,70,7,16,8,8,19,22,0,13,11,14,21,0,9,21,1,94,16,0,18,21,0,1,21,1,49,16,21,1,8,0,16,8,7,16,21,1,24,21,1,70,7,21,1,94,9,21,1,8,21,1,82,8,16,21,1,70,21,0,10,21,1,24,21,1,70,7,16,17,0,18,15,139,1,21,1,7,21,0,2,21,1,73,16,8,7,16,25,21,0,1,22,0,2,11,14,21,1,88,21,1,68,7,21,1,79,9,0,19,21,1,68,7,21,1,88,21,1,77,7,9,3,2,0,16,21,0,1,17,22,0,3,11,14,15,140,1,25,21,0,1,21,1,74,16,21,1,76,0,22,17,0,5,0,97,17,14,21,0,1,21,1,111,16,22,0,5,11,14,21,0,1,21,1,73,16,21,1,94,16,0,18,0,22,21,1,1,21,0,1,21,1,74,21,1,71,0,22,19,21,1,9,21,1,60,21,1,71,7,8,16,21,1,28,21,0,5,17,21,1,8,0,16,8,21,1,6,21,1,49,8,0,22,21,1,8,21,1,78,8,19,3,2,21,1,0,21,1,71,21,1,7,0,21,8,8,7,16,21,0,4,21,0,5,17,21,1,28,21,0,5,21,1,114,16,17,25,21,0,2,21,1,74,16,22,0,3,11,14,21,0,1,21,1,74,16,21,1,76,21,0,3,17,0,5,0,98,17,14,21,0,1,21,0,3,21,1,110,21,1,94,8,21,0,2,21,1,49,16,17,21,0,3,21,1,110,21,1,48,8,21,0,2,17,25,21,0,2,21,1,74,16,21,1,75,0,22,17,0,5,0,99,17,14,21,0,1,21,1,49,16,21,1,73,21,1,6,21,1,76,8,21,0,2,17,0,5,0,100,17,14,21,0,2,21,1,82,16,0,18,21,1,11,7,16,21,1,24,21,1,68,7,16,0,5,0,101,17,25,21,0,1,21,1,49,16,21,1,120,21,0,2,17,0,18,21,1,24,21,1,66,7,7,16,21,1,94,16,0,18,21,1,3,21,0,1,7,21,1,104,21,1,28,21,1,7,21,0,2,8,19,7,16,25,21,0,1,21,1,123,21,0,2,17,14,21,0,2,21,1,82,16,22,0,2,12,14,21,0,2,21,1,122,16,21,1,79,16,21,1,24,21,1,77,7,16,21,1,78,21,0,1,21,1,74,16,17,22,0,3,11,14,21,0,3,21,1,71,21,0,2,17,21,1,24,21,1,68,7,16,0,5,0,102,17,14,21,0,1,21,1,124,21,0,3,21,1,94,16,21,1,1,21,1,96,21,1,4,21,1,122,21,1,5,21,1,79,8,7,19,21,0,2,17,21,1,119,21,0,2,17,17,25,21,0,1,21,1,123,21,0,2,17,14,21,0,2,21,1,82,16,22,0,2,12,14,21,0,1,21,1,74,16,22,0,3,11,14,21,0,2,21,0,3,21,1,8,21,1,71,8,21,1,68,21,1,122,19,16,21,1,24,21,1,68,7,16,21,1,133,1,16,14,21,0,1,21,1,124,21,0,3,21,1,94,16,21,1,1,21,1,96,21,1,4,21,1,122,21,1,5,21,1,79,8,7,19,21,0,2,17,21,1,119,21,0,2,17,21,1,114,16,17,25,21,0,1,21,1,121,21,1,7,21,0,2,8,21,1,128,1,21,1,8,21,1,60,21,1,118,7,8,9,21,1,6,21,1,121,8,21,0,2,17,25,21,0,1,15,141,1,21,0,5,21,1,131,1,21,0,1,21,0,4,21,0,2,17,17,7,21,0,2,17,25,21,0,1,21,0,4,21,0,2,17,22,0,6,11,14,21,0,6,21,0,5,21,0,2,17,21,1,48,21,0,1,17,21,1,134,1,16,14,21,0,6,25,21,0,1,21,1,74,16,21,1,74,0,22,17,21,1,133,1,16,14,21,0,1,21,1,119,16,22,0,3,11,14,21,0,3,0,18,21,1,11,7,16,21,1,24,21,1,68,7,16,21,1,133,1,16,14,21,0,3,0,3,16,22,0,4,11,14,0,22,21,1,76,21,0,4,17,21,1,24,21,1,68,7,16,21,1,134,1,16,14,21,0,4,21,1,79,16,21,1,96,16,22,0,5,11,14,21,0,5,21,1,45,0,27,7,16,21,1,119,21,0,1,21,1,45,21,1,73,7,16,21,1,96,16,17,21,1,130,1,21,0,5,21,1,119,21,0,3,17,21,1,111,16,17,25,21,0,2,21,1,74,16,21,1,74,0,22,17,21,1,133,1,16,14,21,0,2,0,18,21,1,11,7,16,21,1,24,21,1,68,7,16,21,1,133,1,16,14,21,0,1,21,1,119,21,1,6,21,1,130,1,21,1,7,21,1,111,8,8,21,0,2,21,1,120,16,17,25,21,0,1,0,0,16,21,1,134,1,16,14,21,0,1,21,1,74,16,21,1,74,0,21,17,21,1,134,1,16,14,21,0,1,21,1,131,1,16,25,21,0,2,21,1,74,21,1,6,21,1,78,8,21,0,1,17,22,0,3,11,14,21,0,3,0,22,21,1,8,21,1,76,8,21,1,68,21,1,76,21,1,7,0,21,8,19,16,21,1,134,1,16,14,21,0,2,0,22,21,1,73,3,2,21,1,132,1,21,0,3,8,16,22,0,4,11,14,21,0,1,21,1,73,16,21,1,76,21,0,4,17,21,1,134,1,16,14,21,0,1,21,1,130,1,21,1,92,21,1,7,21,0,4,8,3,2,21,1,132,1,21,0,3,8,16,21,1,48,21,0,2,17,21,1,134,1,16,14,21,0,1,21,1,93,21,0,4,17,25,21,0,1,21,1,73,16,21,1,74,0,23,17,21,1,134,1,16,14,21,0,1,21,1,130,1,16,21,1,48,21,0,2,17,21,1,134,1,16,14,21,0,1,21,1,130,1,0,22,17,25,21,0,1,21,1,73,16,21,1,74,0,22,17,21,1,134,1,16,14,21,0,1,21,1,130,1,16,25,21,0,1,21,1,74,16,21,1,74,0,22,17,21,1,133,1,16,14,21,0,1,0,18,21,1,11,7,16,21,1,24,21,1,68,7,16,21,1,133,1,16,14,21,0,1,21,1,93,21,1,7,0,22,8,21,1,76,21,1,93,21,1,7,0,27,8,19,21,1,24,21,1,68,7,9,16,21,1,134,1,16,14,21,0,1,0,3,16,25,21,1,4,21,1,4,0,21,7,0,5,0,105,19,3,1,21,1,119,21,0,1,21,1,130,1,0,22,17,17,7,21,1,131,1,21,1,71,21,1,121,21,0,1,21,1,130,1,0,21,17,19,21,1,131,1,9,19,25,21,0,1,21,1,138,1,16,25,21,0,1,21,0,5,21,0,2,17,22,0,6,11,14,0,21,22,0,7,11,22,0,8,11,14,21,0,6,0,21,21,1,109,15,142,1,8,16,14,21,0,1,22,0,9,11,14,15,143,1,22,0,10,11,14,21,0,7,21,0,10,21,1,1,21,0,4,21,0,2,19,7,16,22,0,11,11,14,21,0,8,21,1,78,16,21,0,10,21,1,1,21,1,139,1,21,0,4,7,21,0,2,19,7,16,22,0,12,11,14,21,0,6,0,21,21,1,109,21,1,3,21,0,11,21,0,12,3,2,7,21,1,131,1,0,21,21,1,8,21,1,71,8,19,21,1,131,1,21,1,65,19,8,16,25,21,1,15,21,1,6,0,18,21,0,1,7,8,25,21,0,1,25,21,0,1,25,21,0,1,14,21,1,7,21,2,80,16,25,0,22,0,7,21,1,6,17,22,1,6,12,14,21,0,1,0,16,21,1,6,17,25,21,1,8,21,1,7,21,1,5,0,16,21,0,1,17,17,22,1,8,12,25,21,0,2,0,14,16,22,0,5,11,14,21,0,2,0,12,16,0,17,16,21,2,24,0,8,21,2,7,21,0,1,0,14,16,21,2,8,0,16,8,0,12,21,0,5,21,2,8,0,16,8,19,8,7,0,22,17,0,5,0,32,17,14,21,0,5,21,2,24,0,8,7,0,22,17,0,17,16,0,18,21,0,1,0,15,16,21,2,8,0,16,8,21,0,4,21,0,2,0,15,16,21,2,8,0,16,8,19,7,16,0,15,21,0,5,17,25,21,0,2,0,14,16,22,0,5,11,14,21,0,2,0,12,16,22,0,6,11,14,21,0,1,0,14,16,22,0,7,11,14,21,0,6,0,17,16,21,2,24,0,8,21,2,7,21,0,7,21,2,8,0,16,8,0,12,21,0,5,21,2,8,0,16,8,19,8,7,0,22,17,0,5,0,33,17,14,21,0,6,0,7,21,0,1,0,12,16,17,0,17,16,21,2,24,0,8,21,2,7,0,6,21,2,7,21,0,6,8,21,2,4,0,16,7,21,0,7,19,8,7,0,22,17,22,0,8,11,14,21,0,2,0,15,16,22,0,9,11,14,21,0,1,0,15,16,22,0,10,11,14,21,0,8,0,17,21,2,6,0,18,21,2,3,21,0,10,7,0,16,0,6,21,2,7,0,8,21,2,7,21,0,8,8,8,19,21,0,4,21,0,9,21,2,8,0,16,8,19,7,8,21,0,9,21,2,22,16,17,0,15,16,0,15,21,0,7,17,25,21,0,1,21,2,30,21,0,4,7,21,0,2,17,25,21,0,1,0,18,15,144,1,21,0,2,7,7,16,25,21,0,2,0,18,15,145,1,21,0,1,7,7,16,25,21,1,6,0,8,0,23,17,0,13,21,0,1,21,2,24,21,2,19,7,16,22,1,10,12,0,7,21,0,1,21,2,24,21,2,20,7,16,22,1,9,12,17,17,25,21,0,1,14,21,2,4,0,21,7,21,2,18,0,21,21,2,106,21,1,8,21,2,8,0,16,8,21,2,6,21,0,4,8,7,21,1,7,17,19,22,0,5,11,14,21,2,1,21,1,6,3,2,21,2,0,0,13,21,2,7,21,1,6,8,8,22,0,6,11,14,0,21,0,12,21,1,6,17,0,6,21,1,6,17,0,2,0,23,17,21,2,20,16,22,0,7,11,0,17,16,0,18,21,2,1,0,6,0,22,19,0,7,21,0,7,19,0,10,0,23,19,7,16,21,2,24,15,146,1,7,21,1,6,0,17,16,17,25,21,0,1,0,18,21,2,11,7,16,21,2,24,0,8,7,0,22,17,0,5,0,36,17,14,0,22,0,7,21,1,3,17,22,0,3,11,14,21,2,1,0,7,21,0,3,19,21,2,4,0,16,7,21,1,3,0,17,16,0,18,0,7,21,2,7,21,0,3,8,7,16,0,19,21,2,1,21,2,4,0,16,7,21,0,1,19,0,12,0,21,19,0,8,0,7,19,0,6,21,2,1,19,7,16,19,22,0,4,11,14,21,0,1,0,19,0,6,7,16,21,2,8,0,16,8,22,0,5,11,14,0,21,21,0,4,16,22,0,6,11,21,0,5,16,22,0,7,11,14,21,0,3,21,0,5,16,0,17,16,0,18,15,147,1,7,16,25,21,0,1,0,7,21,1,3,17,0,17,16,0,18,0,6,21,2,7,21,0,1,8,7,16,25,21,0,1,3,1,25,21,0,1,14,21,1,9,0,16,21,1,12,0,16,21,1,14,17,17,22,0,3,11,14,21,1,14,0,6,0,22,17,22,1,14,12,21,1,13,16,22,1,15,12,14,21,0,3,25,21,0,1,0,12,21,1,15,17,25,21,0,1,0,12,21,2,7,21,1,4,8,0,7,0,22,19,21,2,9,15,148,1,8,16,14,21,1,5,0,16,0,22,0,6,21,1,3,17,22,1,3,12,17,25,21,0,2,22,0,5,11,14,21,0,4,22,0,6,11,14,21,0,1,0,18,15,149,1,7,16,25,21,0,2,22,0,3,11,14,21,1,9,0,16,21,0,1,17,22,0,4,11,14,21,1,5,0,18,0,16,21,2,7,21,0,1,8,7,16,22,0,5,11,14,21,0,4,0,17,16,0,18,21,2,3,21,0,5,7,0,16,0,8,21,2,7,21,0,3,8,19,7,16,22,0,6,11,14,21,0,3,0,17,16,0,18,21,2,2,7,21,0,6,17,0,18,21,2,1,7,21,1,10,0,17,16,17,0,15,16,21,2,45,0,12,7,21,0,5,17,21,2,24,0,8,7,0,22,17,0,5,0,47,17,14,21,0,6,21,2,35,16,22,0,7,11,14,21,0,7,21,2,22,16,0,17,16,0,18,21,0,6,21,1,8,0,6,7,0,21,17,21,2,28,21,0,7,17,21,2,8,0,16,8,21,2,8,0,7,8,7,16,22,0,8,11,14,21,0,8,0,18,21,2,1,7,21,1,12,17,21,2,45,0,6,7,21,0,7,0,18,21,0,6,21,2,8,0,16,8,21,2,8,0,8,8,7,21,1,12,17,17,22,1,12,12,14,21,0,7,0,18,0,6,21,2,7,21,0,4,21,2,8,0,8,8,8,7,21,1,11,17,22,1,11,12,14,21,0,4,0,8,22,1,10,13,25,21,0,4,0,16,21,0,1,17,0,16,21,0,2,17,25,21,2,28,21,2,7,21,1,7,0,7,21,1,6,17,0,17,16,0,18,0,6,21,2,7,21,1,7,8,7,16,8,22,0,3,11,14,21,1,5,0,16,0,21,17,21,0,3,16,22,0,4,11,14,21,1,5,0,18,21,0,3,21,2,45,0,12,7,21,0,4,19,21,2,24,0,8,7,9,7,16,21,2,24,0,8,7,0,22,17,0,5,0,48,17,14,21,0,4,21,2,24,0,8,7,16,22,0,5,11,0,17,16,0,15,21,0,4,17,22,0,6,11,14,21,0,6,0,18,21,2,2,7,21,0,1,17,21,1,13,21,0,6,0,18,0,6,21,2,7,0,8,21,2,7,21,0,5,8,8,7,21,0,2,17,17,25,21,0,2,0,12,16,21,2,16,0,22,17,0,5,21,1,6,17,14,21,0,2,21,2,12,16,22,0,2,12,14,21,0,2,0,18,21,2,10,7,16,21,2,24,0,8,7,0,22,17,0,5,21,1,7,17,14,21,0,2,21,2,22,16,22,0,3,11,14,21,0,1,21,2,49,16,21,2,22,21,2,8,21,2,18,8,21,2,9,15,150,1,8,21,0,3,17,22,0,4,11,14,15,151,1,22,0,5,11,14,0,21,21,2,17,16,22,0,6,11,14,0,22,22,0,7,11,14,15,152,1,22,0,8,11,14,0,21,22,0,9,11,14,21,0,3,0,17,16,0,18,21,0,2,21,2,8,0,16,8,15,153,1,21,1,4,15,154,1,7,21,0,8,21,2,2,19,3,2,21,2,0,21,1,3,8,21,0,4,21,2,8,0,16,8,19,7,16,22,0,10,11,14,21,0,1,21,2,15,16,0,15,21,2,7,21,0,4,8,15,155,1,3,2,21,2,0,21,0,6,0,12,16,21,2,17,0,21,17,8,16,25,21,0,1,0,12,16,0,13,21,1,3,17,0,5,0,62,17,14,21,0,2,0,18,21,2,11,7,16,21,2,24,0,8,7,16,0,5,0,63,17,14,21,0,1,21,2,49,16,22,0,3,11,14,21,1,3,0,17,16,0,18,21,0,2,21,2,8,0,16,8,0,7,21,0,3,21,2,8,0,16,8,19,0,6,0,22,19,7,16,22,0,4,11,14,21,0,4,0,18,0,13,21,2,7,0,21,8,7,16,21,2,24,0,8,7,16,0,5,0,64,17,14,21,0,3,21,2,28,21,1,3,0,7,21,2,7,21,2,22,8,21,0,3,17,0,17,16,0,18,0,6,21,2,7,21,1,3,8,7,16,17,22,0,5,11,21,2,24,0,8,7,0,22,17,22,0,6,11,14,0,22,0,7,21,1,3,17,15,156,1,16,21,2,26,21,0,6,3,1,17,0,19,0,8,7,16,21,2,38,16,22,0,7,11,14,21,0,2,21,2,1,21,2,45,15,157,1,7,21,0,7,19,21,2,24,0,18,0,6,7,7,9,21,2,6,0,18,0,6,7,8,21,0,4,17,0,22,21,2,8,0,12,8,0,7,0,22,19,21,2,9,21,2,4,0,17,0,15,21,0,5,19,21,2,8,0,18,0,6,7,8,7,8,21,0,6,17,0,18,21,0,1,0,15,16,21,2,8,0,16,8,7,16,25,21,0,1,0,12,16,0,13,0,22,17,0,5,0,65,17,14,21,0,1,21,1,3,21,0,2,17,25,21,0,2,0,12,16,21,2,16,0,22,17,0,5,0,66,17,14,21,0,1,21,2,49,16,21,2,22,21,2,6,0,13,8,21,0,2,17,0,5,0,67,17,14,21,0,2,21,2,22,16,22,0,3,11,14,21,0,2,0,15,16,21,2,8,0,16,8,22,0,4,11,14,21,0,1,21,0,3,21,2,17,0,21,17,21,2,9,15,158,1,8,0,21,17,25,21,0,1,21,2,74,21,0,4,17,25,21,0,1,21,2,45,21,2,1,0,22,3,2,21,2,0,21,2,2,8,7,21,1,4,17,21,2,24,21,2,70,7,16,22,0,3,11,14,21,0,3,21,2,71,0,21,17,0,5,0,73,17,14,21,1,4,21,2,73,16,0,17,16,21,2,70,21,1,4,17,21,2,24,21,2,77,7,16,22,0,4,11,14,21,1,3,0,16,21,0,4,17,21,2,141,1,16,22,0,5,11,14,0,30,21,2,71,21,0,5,17,0,5,0,74,17,14,21,2,74,21,2,7,21,2,66,8,0,5,0,75,19,21,2,2,21,2,1,19,22,0,6,11,14,21,0,3,21,2,62,21,1,7,17,21,0,6,21,2,66,21,2,67,3,3,21,2,0,21,0,5,21,2,66,0,23,17,8,16,22,0,7,11,14,21,1,3,21,2,45,21,2,1,21,0,7,3,2,21,2,0,21,2,2,8,7,21,1,4,17,22,1,3,12,14,21,0,7,21,2,70,21,0,3,17,21,0,5,21,2,74,0,25,17,21,2,9,21,2,71,21,2,7,21,1,7,8,21,2,9,15,159,1,8,8,16,25,21,1,8,0,17,16,0,18,21,2,2,7,21,2,7,0,1,8,15,160,1,3,2,21,2,0,21,1,7,21,2,71,0,21,17,8,21,0,1,17,25,21,0,1,21,2,11,16,0,5,0,76,17,14,21,0,1,0,17,16,25,21,0,1,21,2,74,16,21,2,74,0,22,17,0,5,0,77,17,14,21,0,1,0,18,21,1,3,7,16,21,2,24,0,18,21,2,26,21,2,7,21,2,82,8,7,7,3,0,21,2,71,16,17,25,21,1,9,21,1,7,21,2,77,21,0,4,17,7,22,0,5,11,14,21,0,1,21,2,45,21,0,5,7,21,2,2,21,2,5,0,18,21,0,1,21,2,8,21,0,5,8,7,8,21,2,1,21,2,5,0,18,21,2,1,21,0,5,21,0,2,19,7,8,21,1,8,3,4,21,2,0,21,2,48,21,2,6,21,2,13,8,21,2,75,21,0,4,21,2,67,0,21,17,19,21,2,69,0,21,21,2,75,21,0,4,17,21,2,68,21,1,7,17,19,21,2,81,0,23,19,21,2,24,21,2,77,21,2,7,0,23,21,2,8,21,2,70,8,8,7,9,8,21,0,2,17,25,21,0,1,21,2,49,16,21,2,28,21,0,2,0,17,16,17,22,0,3,11,14,21,0,1,21,2,25,21,0,2,17,22,0,4,11,21,2,24,21,2,70,7,16,22,0,5,11,14,21,0,3,21,2,24,21,2,70,7,16,0,17,16,0,18,21,2,1,21,2,70,21,0,5,19,21,2,77,21,0,5,0,17,16,21,2,82,21,0,4,17,19,21,2,5,0,18,21,0,1,21,2,82,16,21,2,8,0,16,8,7,8,7,16,21,2,82,21,0,3,17,25,21,0,2,21,2,74,21,1,4,17,25,21,1,3,21,2,77,22,1,4,13,14,21,0,1,21,2,77,0,22,17,25,21,0,1,14,21,1,6,0,16,21,1,7,17,21,2,1,0,22,21,2,77,21,1,7,17,22,1,7,12,17,25,21,0,1,21,2,82,16,21,1,3,16,0,18,21,0,1,21,2,49,16,21,2,94,16,21,2,82,16,21,2,8,21,2,28,8,7,16,25,21,0,1,21,2,73,21,2,6,21,2,78,8,21,0,2,17,21,2,70,16,22,0,3,11,14,21,0,1,21,2,73,21,2,6,21,2,66,8,21,0,2,17,22,0,4,11,14,21,0,1,15,161,1,21,2,7,21,2,73,21,2,77,21,0,4,21,2,94,16,21,2,77,0,22,17,21,2,78,16,19,8,21,2,6,15,162,1,8,21,0,2,17,22,0,5,11,14,21,0,5,21,0,3,3,2,25,21,0,2,22,0,3,11,14,21,0,1,22,0,4,11,14,15,163,1,21,1,7,3,2,21,2,0,21,2,74,21,2,7,21,1,6,8,8,22,0,5,11,14,0,21,21,0,5,16,25,15,164,1,22,0,3,11,14,0,27,21,0,3,0,22,21,2,77,21,0,1,17,17,21,2,77,0,22,17,25,21,0,2,21,2,107,21,0,1,21,2,8,21,1,13,8,7,16,25,21,0,2,21,2,74,16,21,2,4,21,2,78,7,0,22,17,22,0,3,11,14,21,0,3,21,2,76,0,21,17,0,5,0,96,17,14,21,0,1,21,2,15,16,21,2,1,21,2,5,21,0,3,21,2,110,0,21,8,8,21,2,1,21,0,3,21,2,110,21,2,71,8,3,2,21,2,0,21,0,3,21,2,71,0,21,17,8,21,2,6,0,18,21,2,49,7,8,21,1,3,9,3,2,21,2,0,21,0,2,21,2,73,16,21,2,71,0,21,17,8,15,165,1,3,2,21,2,0,21,2,82,21,2,5,21,2,73,8,21,2,71,0,26,19,21,2,6,21,2,68,8,8,21,0,2,17,25,21,0,1,25,21,0,1,21,2,10,16,0,5,0,106,17,14,21,0,1,21,2,66,21,1,8,17,22,1,8,12,14,21,0,1,21,2,67,21,1,7,17,22,1,7,12,25,21,0,1,21,2,77,0,21,17,21,2,94,16,21,2,119,21,1,9,3,1,17,0,19,21,2,2,21,2,5,21,0,4,8,7,16,25,21,0,1,21,2,2,21,0,4,17,25,21,0,4,21,2,2,21,0,1,17,25,21,0,2,22,0,3,11,0,7,16,22,0,4,11,14,0,21,22,0,5,11,22,0,6,11,22,0,7,11,14,0,25,22,0,8,11,14,21,0,1,0,22,0,12,21,2,7,17,0,7,0,22,17,21,3,9,0,18,0,8,21,3,7,21,2,7,8,7,8,16,21,3,8,0,16,8,21,3,6,21,1,5,8,22,0,9,11,14,21,0,9,0,21,0,22,0,23,3,4,22,0,10,11,14,0,6,15,166,1,3,2,0,16,21,0,3,0,13,0,26,17,17,22,0,11,11,14,15,167,1,22,0,12,11,14,15,168,1,15,169,1,21,0,12,3,3,21,3,0,15,170,1,8,22,0,13,11,14,21,0,1,0,18,21,0,1,21,3,8,15,171,1,8,7,16,25,21,1,6,21,1,7,0,12,21,0,1,17,21,3,9,15,172,1,8,16,25,21,0,1,22,2,4,12,21,3,4,0,16,7,21,2,6,17,22,2,5,12,14,0,27,22,2,3,12,25,21,1,5,22,0,3,11,14,21,0,1,21,1,6,22,1,5,13,14,21,0,3,25,21,0,1,21,3,26,21,0,1,21,3,22,16,0,7,21,0,2,17,0,17,21,3,5,0,18,0,22,7,8,16,17,25,21,0,1,0,18,0,6,7,21,0,2,0,18,21,0,4,21,3,8,0,8,8,7,16,17,25,21,0,1,0,22,21,3,8,0,12,8,0,7,0,22,19,21,3,9,21,1,5,21,0,2,7,21,3,7,0,17,8,8,21,1,7,17,21,1,5,21,0,2,0,8,21,1,7,17,7,22,1,6,13,14,0,22,22,1,7,12,14,21,0,1,21,3,22,16,25,21,0,2,0,8,22,1,7,13,14,21,0,2,25,0,22,22,1,9,12,25,21,1,3,0,7,21,1,4,21,3,22,16,17,0,17,16,0,18,0,6,21,3,7,21,1,3,8,21,3,4,0,16,7,21,1,4,19,7,16,22,0,3,11,21,3,26,22,1,10,13,14,21,0,3,21,3,24,0,8,7,21,1,7,17,0,12,21,3,7,0,22,8,0,7,0,22,19,21,3,9,15,173,1,8,16,14,21,0,1,0,15,16,21,3,8,0,16,8,22,0,4,11,14,21,1,9,21,3,1,21,3,9,15,174,1,8,16,14,21,1,6,0,15,21,1,10,17,0,18,21,0,4,7,16,25,21,0,1,0,17,16,0,18,0,7,21,3,7,21,0,1,8,21,3,4,0,16,7,21,1,3,19,7,16,25,21,0,1,0,17,16,0,18,0,8,21,3,7,21,0,2,8,7,16,25,21,0,1,0,22,0,7,21,1,3,17,21,3,17,21,0,2,17,21,3,9,21,3,60,21,0,0,21,3,7,21,0,2,0,6,0,22,17,8,7,8,16,21,2,3,21,0,2,21,1,4,16,17,25,21,2,7,21,3,78,21,0,1,17,0,17,16,0,18,21,2,6,0,1,16,7,16,21,3,26,22,2,6,13,14,21,2,7,25,21,0,1,21,3,65,21,2,7,17,0,18,21,2,6,21,3,8,0,16,8,7,16,25,21,0,2,0,18,21,0,1,21,3,8,0,16,8,7,16,25,21,0,1,21,3,74,21,0,2,17,0,19,21,3,68,7,16,21,3,24,21,3,77,7,16,22,0,3,11,14,21,0,3,21,3,94,16,0,18,21,0,2,21,3,8,0,16,8,7,16,21,3,24,21,3,70,7,16,22,0,4,11,14,21,0,3,21,3,72,21,3,7,21,1,4,8,21,3,9,21,0,2,21,0,1,3,2,21,3,8,21,3,45,0,16,7,8,21,3,5,15,175,1,8,8,16,14,21,0,4,25,21,1,4,21,3,77,21,3,7,21,0,1,8,21,3,6,21,2,5,8,21,1,3,17,21,3,74,21,3,7,0,21,8,21,3,9,21,0,1,21,3,77,0,22,17,21,3,5,21,1,5,8,8,16,25,21,0,1,0,22,21,3,8,21,3,72,8,21,3,9,15,176,1,8,21,0,2,17,25,21,0,2,21,3,112,16,21,3,95,16,22,0,3,11,14,21,0,1,21,3,111,21,0,2,21,3,28,21,0,3,17,17,21,3,4,21,3,78,7,0,22,17,21,3,67,0,21,17,21,3,4,21,3,28,7,21,0,3,17,22,0,4,11,14,21,0,1,21,1,3,21,3,110,21,3,48,8,21,0,2,21,3,28,21,0,4,17,17,21,2,2,21,3,9,21,3,70,21,3,7,21,3,78,21,3,7,21,0,4,8,8,21,3,77,21,3,2,19,8,21,0,2,21,3,73,16,17,25,21,0,1,21,1,8,0,7,0,22,17,21,4,9,21,1,9,0,7,0,22,19,21,4,9,15,177,1,8,8,0,22,0,7,21,0,1,17,17,25,21,0,2,0,6,21,1,3,17,22,1,4,12,14,21,0,1,0,6,21,1,3,17,22,1,7,12,21,2,6,16,22,1,6,12,0,6,21,1,3,17,21,2,6,16,22,1,5,12,14,21,1,7,0,13,21,3,6,17,22,1,8,12,14,21,1,6,21,1,11,16,14,21,1,7,21,1,13,21,1,4,17,25,21,0,2,0,6,0,22,17,22,1,4,12,0,12,21,1,6,17,0,8,0,23,17,0,6,22,1,8,13,14,21,0,2,25,21,0,1,0,6,0,22,17,22,1,7,12,0,12,21,1,5,17,0,6,22,1,8,13,14,21,0,1,25,21,0,1,21,1,10,21,4,0,21,1,8,8,21,0,2,17,25,21,0,1,0,16,21,1,7,21,1,13,21,1,4,17,17,25,0,22,0,6,21,0,1,17,21,2,4,16,22,2,6,12,21,2,5,16,22,2,7,12,14,21,2,6,25,21,0,1,0,17,16,21,2,5,21,0,1,7,22,2,6,13,25,21,4,3,21,0,1,0,1,16,7,21,1,4,3,2,21,4,0,0,13,21,4,7,0,21,8,8,22,1,4,12,25,21,0,1,21,4,24,21,4,78,7,16,21,4,70,16,22,2,3,12,14,21,0,1,21,4,24,21,4,66,7,16,21,4,70,21,1,4,17,22,1,4,12,25,0,23,21,4,62,21,0,2,17,21,4,66,16,22,0,3,11,21,4,77,21,0,1,17,22,0,4,11,21,3,2,16,22,0,5,11,14,21,0,1,21,0,4,3,2,0,16,21,0,5,17,21,2,3,21,0,2,21,4,65,0,23,17,21,4,70,21,0,5,17,21,4,77,21,0,3,17,17,25,21,0,1,14,0,23,22,2,8,12,14,21,2,4,22,2,7,12,14,21,0,1,22,2,4,12,25]) ,provide.concat([0,1,2,32,3,8,-1,-Infinity,Infinity,4,str("´: 𝕩 must be a list"),str("Mapping: Equal-rank argument shapes don\'t agree"),str("Mapping: Argument shape prefixes don\'t agree"),str("⍋𝕩: 𝕩 must have rank at least 1"),str("/: Replication argument must have rank 1"),str("/: Amounts to replicate must be natural numbers"),str("⌽𝕩: 𝕩 must have rank at least 1"),str("𝕨⌽𝕩: 𝕨 must consist of integers"),str("↑𝕩: 𝕩 must have rank at least 1"),str("↓𝕩: 𝕩 must have rank at least 1"),str("𝕨⊏𝕩: 𝕩 must be an array"),str("𝕨⊏𝕩: Indices in 𝕨 must be integers"),str("𝕨⊏𝕩: Indices out of range"),str(">𝕩: Elements of 𝕩 must have matching shapes"),str("∾𝕩: Elements of 𝕩 must all have the same rank"),str("∾𝕩: 𝕩 element rank must be at least argument rank"),str("∾𝕩: 𝕩 element shapes must be compatible"),str("∾𝕩: 𝕩 element trailing shapes must match"),str("∾𝕩: 𝕩 must be an array"),str("𝕨"),str("𝕩: 𝕨 must "),str("have rank at most 1"),str("consist of integers"),str("↑"),str("↓"),str("« or »: 𝕩 must have rank at least 1"),str("« or »: 𝕨 must not have higher rank than 𝕩"),str("« or »: Rank of 𝕨 must be at least rank of 𝕩 minus 1"),str("« or »: 𝕨 must share 𝕩\'s major cell shape"),str("𝕨↕𝕩: 𝕩 must be an array"),str("𝕨↕𝕩: 𝕨 must have rank at most 1"),str("𝕨↕𝕩: Length of 𝕨 must be at most rank of 𝕩"),str("𝕨↕𝕩: 𝕨 must consist of natural numbers"),str("𝕨↕𝕩: Window length 𝕨 must be at most axis length plus one"),str("First-axis primitive: 𝕩 must have rank at least 1"),str("Multi-axis primitive: 𝕨 must have rank at most 1"),str("Multi-axis primitive: Length of 𝕨 must be at most rank of 𝕩"),str("≥: No monadic form"),str("≤: No monadic form"),str("´: Identity not found"),str("𝕨⥊𝕩: 𝕨 must have rank at most 1"),str("𝕨⥊𝕩: 𝕨 must consist of natural numbers"),str("𝕨⥊𝕩: Can\'t compute axis length when rest of shape is empty"),str("𝕨⥊𝕩: 𝕨 must consist of natural numbers or ∘ ⌊ ⌽ ↑"),str("𝕨⥊𝕩: Shape must be exact when reshaping with ∘"),str("↕𝕩: 𝕩 must consist of natural numbers"),str("↕𝕩: 𝕩 must be a number or list"),str("˝: 𝕩 must have rank at least 1"),str("𝕨∾𝕩: Rank of 𝕨 and 𝕩 must differ by at most 1"),str("𝕨∾𝕩: Cell shapes of 𝕨 and 𝕩 must match"),str("𝕨/𝕩: Lengths of components of 𝕨 must match 𝕩"),str("⊔: Grouping argument must consist of integers"),str("⊔: Grouping argument values cannot be less than ¯1"),str("⊔𝕩: 𝕩 must be a list"),str("𝕨⊔𝕩: 𝕩 must be an array"),str("𝕨⊔𝕩: Compound 𝕨 must be a list"),str("𝕨⊔𝕩: Total rank of 𝕨 must be at most rank of 𝕩"),str("𝕨⊔𝕩: Lengths of components of 𝕨 must be compatible with 𝕩"),str("𝕨⊑𝕩: Indices in compound 𝕨 must be lists"),str("𝕨⊑𝕩: Index length in 𝕨 must match rank of 𝕩"),str("𝕨⊑𝕩: Indices in 𝕨 must consist of integers"),str("𝕨⊑𝕩: Index out of range"),str("⍋ or ⍒: Rank of 𝕨 must be at least 1"),str("⍋ or ⍒: Rank of 𝕩 must be at least cell rank of 𝕨"),str("⍋ or ⍒: 𝕨 must be sorted"),str("p⊐𝕩 or 𝕨∊p: p must have rank at least 1"),str("∊𝕩 or ⊐𝕩: 𝕩 must have rank at least 1"),str("⍷𝕩: Rank of 𝕨 cannot exceed rank of 𝕩"),str("𝕨⍉𝕩: 𝕨 must have rank at most 1"),str("𝕨⍉𝕩: Length of 𝕨 must not exceed rank of 𝕩"),str("𝕨⍉𝕩: 𝕨 must consist of natural numbers"),str("𝕨⍉𝕩: Skipped result axis"),str("⁼: Inverse failed"),str("⁼: Inverse does not exist"),str("⁼: Inverse not found"),str("⍟: Repetition numbers in 𝕨 must be integers")]) ,[[0,1,0,148],[2,0,3136,6],[0,0,3163,3],[0,0,3167,3],[0,0,3171,3],[1,0,3175,5],[1,0,3183,5],[2,0,3201,6],[2,0,3216,6],[2,0,3235,6],[2,0,3257,6],[2,0,3279,6],[0,0,3311,3],[0,0,3317,3],[0,0,3326,3],[0,0,3332,3],[0,0,3343,3],[0,0,3352,3],[1,0,3361,9],[0,0,3474,3],[0,0,3514,4],[0,0,3590,5],[0,0,3665,3],[1,1,3682,4],[1,1,3755,3],[0,0,3819,3],[0,0,3830,5],[2,0,3914,12],[0,0,4120,4],[0,0,4169,6],[0,0,4259,7],[0,0,4388,4],[0,0,4449,4],[0,0,4551,3],[0,0,4604,4],[1,1,4665,2],[0,0,4698,4],[2,0,4839,16],[1,1,5069,2],[0,0,5093,3],[0,0,5120,3],[0,0,5146,3],[0,0,5185,4],[0,0,5282,3],[0,0,5311,7],[0,0,5358,14],[1,1,5592,8],[1,0,5645,6],[1,1,5753,2],[0,0,5811,5],[0,0,5973,5],[0,0,6110,7],[0,0,6279,3],[0,0,6338,4],[1,1,6411,2],[2,1,6421,4],[0,0,6457,3],[0,0,6484,3],[0,0,6506,3],[0,0,6528,3],[0,0,6557,9],[0,0,6708,5],[1,1,6743,2],[2,0,6812,10],[2,0,6872,8],[1,0,7066,5],[0,0,7108,8],[0,0,7344,5],[0,0,7412,3],[1,0,7446,8],[0,0,7546,4],[0,0,7630,6],[0,0,7953,4],[0,0,8166,3],[0,0,8184,4],[1,0,8257,9],[1,1,8327,3],[1,0,8352,14],[1,1,8787,4],[1,0,8837,6],[0,0,8976,4],[0,0,9044,3],[0,0,9118,3],[0,0,9173,4],[0,0,9302,4],[0,0,9423,3],[2,0,9464,6],[2,0,9494,7],[0,0,9536,6],[0,0,9690,3],[0,0,9763,3],[0,0,9803,5],[0,0,9953,3],[0,0,10004,3],[0,0,10032,3],[0,0,10122,3],[1,1,10181,2],[2,0,10190,13],[1,1,10346,2],[1,1,10360,2],[1,1,10364,2],[0,0,10368,3],[0,0,10380,3],[0,0,10403,3],[1,0,10424,6],[1,0,10541,11],[1,0,10762,5],[0,0,10777,3],[0,0,10792,3],[0,0,10807,3],[1,0,10852,8],[0,0,10991,8],[0,0,11159,3],[0,0,11185,3],[0,0,11191,4],[0,0,11240,3],[0,0,11250,3],[1,0,11295,7],[0,0,11322,9],[1,0,11608,5],[0,0,11624,7],[0,0,11791,11],[0,0,12033,8],[0,0,12347,3],[0,0,12375,5],[1,0,12471,5],[0,0,12482,8],[0,0,12739,3],[0,0,12780,3],[0,0,12800,3],[1,0,12854,6],[0,0,13007,6],[0,0,13129,3],[0,0,13140,3],[0,0,13161,3],[0,0,13192,3],[0,0,13230,6],[0,0,13337,6],[0,0,13387,4],[0,0,13417,3],[0,0,13436,4],[1,1,13594,2],[0,0,13598,3],[1,0,13641,5],[1,0,13678,5],[1,0,13689,5],[0,0,13700,14],[0,0,13876,3],[0,0,13897,3],[0,0,13926,4],[0,0,13949,3],[1,0,13982,5],[0,0,14008,3],[0,0,14078,3],[0,1,14092,0],[0,0,14099,5],[0,0,14234,3],[0,0,14264,3],[0,0,14284,3],[0,0,14338,3],[0,0,14373,3],[0,0,14397,3],[0,0,14414,5],[0,0,14525,3],[0,0,14580,3],[0,0,14604,5],[0,0,14733,3],[0,0,14773,3],[0,0,14856,3],[0,0,14890,3],[0,0,14919,3],[0,0,14937,3],[0,0,14954,3],[0,0,14983,3],[0,0,15001,3],[0,0,15033,3],[0,0,15076,6],[0,0,15155,3]] ); // Compiler runtime[42] = assertFn("Compiler"); let compile = run( new Uint8Array([0,54,0,0,0,75,17,22,0,0,11,14,0,81,0,82,0,83,0,84,0,21,21,0,0,17,0,85,0,86,0,87,0,88,0,89,0,20,0,54,0,47,3,2,17,0,40,0,31,7,0,55,17,0,54,0,25,16,0,0,0,76,17,0,90,0,56,22,0,1,11,0,25,16,0,42,0,0,7,0,92,17,0,20,16,0,39,0,21,7,0,91,17,0,57,0,0,0,75,17,0,21,0,94,17,0,21,0,93,0,24,0,55,17,17,0,95,3,14,0,41,0,13,7,0,11,0,48,0,22,8,0,21,19,16,22,0,2,22,0,3,4,2,11,14,15,1,22,0,4,11,14,15,2,21,0,2,7,22,0,5,11,14,21,0,3,0,27,0,46,0,0,7,9,0,50,0,39,0,41,0,22,7,7,8,16,22,0,6,22,0,7,22,0,8,22,0,9,22,0,10,22,0,11,22,0,12,22,0,13,22,0,14,22,0,15,22,0,16,22,0,17,22,0,18,22,0,19,4,14,11,14,0,32,0,50,0,1,8,0,12,0,9,0,15,0,49,0,59,8,19,0,32,0,49,0,58,8,19,22,0,20,11,14,21,0,15,0,32,16,22,0,21,11,14,0,59,0,21,0,62,0,25,16,0,28,16,0,29,0,61,17,17,0,21,21,0,3,0,23,0,60,17,0,21,0,59,17,0,29,16,0,23,21,0,14,0,32,16,17,17,22,0,22,11,14,0,60,0,59,3,2,0,42,0,1,7,0,60,0,61,0,63,3,3,17,0,20,16,22,0,23,11,14,15,3,22,0,24,11,14,15,4,22,0,25,11,14,15,5,22,0,26,11,14,15,6,22,0,27,11,14,15,7,22,0,28,11,14,15,8,22,0,29,11,14,15,9,22,0,30,11,14,15,10,22,0,31,11,25,0,59,0,38,0,49,0,21,8,0,96,21,0,1,0,13,16,0,11,0,58,17,0,39,0,29,7,0,97,17,0,98,21,0,1,3,4,17,25,21,0,1,0,50,0,31,8,0,50,0,17,0,53,0,18,0,29,0,13,19,0,47,21,1,4,8,8,8,0,18,0,19,19,22,0,2,11,14,21,0,1,0,30,16,22,0,3,11,14,0,19,0,30,21,0,1,0,31,21,0,3,17,19,0,6,0,58,19,0,39,0,1,7,0,58,19,0,39,0,31,7,21,0,3,19,21,0,2,0,19,19,25,0,77,0,14,21,0,1,17,22,0,3,11,14,0,78,0,14,21,0,1,17,22,0,4,11,0,9,0,49,0,26,0,49,0,59,0,59,3,2,8,8,16,0,29,16,22,0,5,11,14,0,79,0,14,21,0,1,17,22,0,6,11,0,29,16,22,0,7,11,14,21,0,5,21,0,7,0,24,0,55,17,21,0,3,0,29,16,3,3,0,21,16,22,0,8,11,0,30,16,22,0,9,11,14,21,0,8,0,31,21,0,9,17,22,0,8,12,14,21,0,5,0,0,0,62,17,21,0,7,0,24,0,58,17,0,58,0,21,21,1,0,0,14,21,0,1,17,17,0,29,16,0,29,0,49,21,0,3,0,46,0,0,7,16,0,21,0,59,17,0,50,0,31,0,47,0,27,0,50,0,1,8,8,8,8,16,3,3,0,21,16,0,31,21,0,9,17,22,0,10,11,14,15,11,0,53,15,12,8,22,0,11,11,14,21,0,10,0,30,21,0,8,17,0,13,0,50,0,21,8,16,0,13,0,39,0,23,7,0,58,19,0,50,21,0,11,8,16,0,24,0,55,17,22,0,12,11,14,21,0,12,0,39,0,29,7,22,0,8,13,14,21,0,12,0,39,0,29,7,22,0,10,13,14,21,0,1,0,13,16,22,0,13,11,14,21,0,8,0,43,0,29,7,16,0,23,21,0,13,17,22,0,14,11,14,21,0,10,0,43,0,29,7,16,0,23,21,0,13,17,22,0,15,11,14,21,0,6,0,9,0,49,0,27,8,16,0,9,21,0,14,17,22,0,16,11,0,26,16,0,10,21,0,15,0,10,21,0,14,17,0,46,0,13,7,16,17,0,8,16,22,0,17,11,14,21,0,17,0,11,21,0,15,17,0,9,21,0,6,0,10,21,0,4,17,17,0,44,0,10,7,16,0,8,16,0,38,0,99,17,14,0,80,0,14,21,0,1,17,0,9,21,0,17,17,22,0,18,11,14,21,0,4,0,9,21,0,14,17,0,27,16,0,10,21,0,18,17,0,29,16,22,0,19,11,14,0,75,0,1,0,80,17,0,2,21,0,18,0,31,21,0,19,17,17,0,1,21,0,1,0,31,21,0,19,17,17,22,0,20,11,14,21,0,15,0,10,21,0,14,17,0,9,21,0,6,17,0,46,0,13,7,16,0,2,21,0,16,0,12,21,0,14,17,0,9,21,0,6,17,22,0,21,11,0,46,0,0,7,16,17,0,39,0,1,7,0,58,17,0,39,0,37,7,21,0,1,17,0,41,0,24,7,0,58,17,22,0,22,11,14,21,0,1,0,29,21,0,17,17,21,1,5,16,22,0,23,11,14,21,1,18,0,32,0,48,0,39,0,1,7,0,22,0,18,19,8,21,1,15,17,21,1,20,21,0,23,17,22,0,24,11,0,11,0,49,0,27,8,16,22,0,25,11,14,21,1,17,0,44,0,0,7,16,0,0,0,55,17,0,14,21,0,23,17,22,0,26,11,14,21,0,23,0,29,21,0,25,17,0,39,0,1,7,21,1,17,0,32,16,17,0,39,0,3,0,47,0,5,8,7,21,1,1,17,22,0,27,11,14,21,1,17,0,32,16,0,0,21,1,1,17,0,16,21,0,23,17,0,9,21,0,24,17,0,2,21,1,1,17,0,1,22,0,23,13,14,0,59,0,11,21,0,27,17,0,21,0,59,17,0,31,21,0,25,0,46,0,0,7,16,17,0,9,21,0,24,17,22,0,28,11,0,12,21,0,24,17,22,0,29,11,14,21,0,24,0,2,21,0,23,17,0,21,0,49,0,59,8,0,48,0,29,0,49,0,26,0,50,0,10,8,8,8,21,0,28,17,21,1,26,16,22,0,30,11,14,21,0,27,0,29,0,49,0,15,0,49,0,59,8,8,16,0,14,0,49,0,62,8,0,50,0,9,8,0,0,0,19,19,21,0,29,0,11,0,49,0,26,8,16,0,39,0,29,7,21,0,26,17,17,22,0,31,11,14,21,0,23,0,37,21,0,28,0,12,21,0,25,17,0,46,0,0,7,16,0,2,21,0,26,0,12,21,0,29,17,17,0,39,0,1,7,0,58,17,17,22,0,32,11,14,21,0,17,0,27,16,0,46,0,0,7,16,0,31,21,0,21,0,29,16,0,21,21,0,19,17,17,0,21,21,0,25,0,29,16,0,31,0,49,21,0,28,0,50,0,31,8,0,30,9,8,16,17,22,0,33,11,14,21,0,32,21,0,30,21,0,20,21,0,22,3,4,22,0,34,11,14,21,0,34,0,41,0,33,7,16,22,0,35,11,0,39,0,41,0,29,0,49,0,46,0,6,7,0,27,0,55,19,0,12,0,19,19,8,7,7,22,0,34,13,14,21,0,23,0,31,0,49,21,0,33,8,0,51,21,0,34,0,41,0,13,7,16,0,27,21,1,21,17,0,46,0,0,7,16,0,0,21,0,35,17,0,21,16,8,16,0,29,21,1,18,21,1,20,21,0,23,17,0,10,21,0,24,17,0,8,16,0,10,21,0,25,17,17,22,0,23,12,14,21,1,9,21,1,20,21,0,23,17,0,9,0,49,0,19,0,10,21,1,11,0,32,16,0,0,0,62,0,64,3,2,17,0,35,21,0,23,17,19,0,27,0,58,19,8,16,0,8,16,0,39,0,29,7,22,0,23,13,14,21,1,9,21,1,20,21,0,23,17,0,9,21,1,11,0,32,16,0,0,0,60,0,61,3,2,17,0,35,21,0,23,17,0,26,0,58,17,17,0,8,16,0,39,0,29,7,22,0,23,13,14,21,1,22,0,31,21,0,23,0,5,21,1,21,17,17,0,29,0,49,21,0,34,0,32,16,0,13,16,0,21,21,1,21,17,21,1,20,21,0,23,17,8,0,51,21,0,31,8,16,22,0,36,11,14,21,1,14,0,32,16,0,39,0,22,7,0,61,17,21,1,20,21,0,23,17,0,2,0,61,17,0,0,22,0,23,13,14,21,0,23,21,0,36,21,0,34,0,32,16,0,13,16,21,0,34,0,24,0,58,17,0,21,16,3,4,25,0,59,0,38,0,49,0,21,8,0,100,21,0,1,0,13,16,0,11,0,58,17,0,39,0,29,7,0,97,17,0,101,21,1,2,0,31,21,0,1,17,0,102,3,5,17,25,21,1,16,0,44,0,25,0,50,0,0,8,7,16,0,21,0,103,0,44,0,1,7,16,0,0,21,1,17,0,32,16,17,17,0,41,21,0,1,0,50,0,14,8,7,16,22,0,3,22,0,4,22,0,5,22,0,6,22,0,7,4,5,11,14,21,1,17,0,32,16,0,11,21,0,1,17,0,10,21,0,3,17,0,8,16,0,44,0,10,7,0,53,21,0,1,0,50,0,29,8,0,47,21,1,25,8,8,16,14,21,0,1,0,14,0,59,17,22,0,8,11,0,10,21,0,3,17,22,0,9,11,0,10,21,0,7,17,22,0,10,11,0,10,21,0,6,17,0,8,16,22,0,11,11,14,21,0,9,0,27,16,0,15,21,0,6,17,0,44,0,9,7,16,0,38,0,104,17,14,21,0,10,0,9,21,0,11,0,8,16,0,27,16,17,0,44,0,10,7,16,0,8,16,0,38,0,105,17,14,21,0,1,0,29,21,0,10,17,0,11,0,49,0,27,8,0,10,0,14,0,49,0,59,8,19,16,0,44,0,9,7,16,0,38,0,106,17,14,21,0,6,0,10,21,0,8,17,0,26,0,10,21,0,3,0,26,16,0,9,21,0,4,17,19,0,9,0,27,19,0,58,17,0,15,21,0,5,0,10,21,0,4,17,17,0,44,0,9,7,16,0,38,0,107,17,14,21,1,15,0,32,16,0,39,0,1,7,0,58,17,0,1,21,0,1,17,0,2,21,0,11,17,0,29,21,0,7,0,8,16,17,0,39,0,31,7,0,54,0,25,16,0,39,0,21,7,0,65,0,58,3,2,17,0,21,0,55,17,17,22,0,12,11,14,21,0,12,0,26,16,0,27,16,0,46,0,0,0,49,0,54,0,50,0,2,8,8,0,2,0,15,0,49,0,59,8,19,7,16,0,29,21,0,12,0,15,0,59,17,0,26,0,50,0,12,8,16,17,22,0,13,11,14,21,0,6,0,27,16,0,29,21,0,11,0,10,21,0,7,17,0,27,0,50,0,12,8,16,22,0,14,11,17,0,39,0,31,7,0,58,0,55,3,2,17,0,2,22,0,13,13,14,21,0,8,0,29,21,0,9,17,22,0,15,11,14,0,59,0,21,21,0,7,17,0,13,0,47,0,25,8,0,0,0,58,19,0,2,0,19,19,0,46,0,6,7,9,16,22,0,16,11,14,21,0,9,0,29,0,26,0,13,19,16,21,0,16,0,50,0,31,8,0,50,0,1,0,2,0,11,0,49,0,27,8,19,8,16,0,29,21,0,15,17,22,0,17,11,14,21,0,15,0,8,16,0,2,21,0,13,17,0,26,16,0,29,21,0,15,17,0,39,0,1,7,21,0,17,17,22,0,18,11,0,7,16,0,4,0,54,17,22,0,19,11,14,0,58,0,66,3,2,0,31,21,0,5,0,29,21,0,14,17,17,0,2,21,0,13,17,0,29,21,0,15,17,0,29,0,49,21,0,18,0,11,0,59,17,8,0,51,0,2,8,21,0,19,17,0,29,0,49,21,0,18,0,12,0,59,17,8,0,51,0,39,0,3,7,8,21,0,19,17,25,0,67,22,0,3,11,14,21,0,1,0,6,0,58,17,0,43,0,4,7,21,0,3,17,0,5,16,22,0,4,11,14,21,0,4,0,0,0,58,17,0,46,0,0,7,0,50,0,27,0,50,0,29,8,0,1,0,19,0,32,0,55,19,0,25,9,19,8,16,0,30,16,0,30,16,22,0,5,11,14,21,0,1,15,13,21,0,4,17,0,31,21,0,5,17,25,0,42,0,14,7,0,45,15,14,7,0,19,0,47,0,40,0,59,7,8,19,0,32,0,55,19,22,0,3,11,14,15,15,22,0,4,11,14,0,59,21,0,4,0,109,8,0,39,0,58,21,0,4,0,110,8,7,3,2,0,52,0,13,0,48,0,12,8,8,22,0,5,11,14,21,0,1,21,0,5,0,111,3,2,0,52,0,13,0,48,0,5,8,0,11,21,0,3,19,8,21,0,2,17,0,39,0,38,7,0,59,17,25,0,97,0,29,21,0,1,0,13,16,0,11,0,58,17,17,0,21,0,112,17,0,39,0,38,7,0,59,17,25,21,0,2,22,0,3,22,0,4,4,2,11,14,21,1,11,0,32,0,50,0,1,8,0,7,0,62,19,0,4,0,55,19,0,2,21,1,20,19,21,0,1,17,22,0,5,11,0,46,0,0,7,16,22,0,6,11,0,30,16,22,0,7,11,14,21,1,11,0,32,16,0,0,0,62,17,0,39,0,22,7,0,62,17,21,1,20,21,0,1,17,0,2,21,0,5,17,22,0,8,11,14,21,0,1,0,31,0,49,21,0,7,8,0,48,0,29,0,49,0,55,0,50,0,14,8,8,0,39,0,1,7,0,58,19,0,17,0,53,21,1,28,8,0,29,0,49,0,58,0,50,0,14,8,8,19,8,21,0,5,17,14,21,0,6,0,32,21,0,7,0,32,16,17,0,15,0,59,17,0,38,0,113,17,14,21,1,12,21,1,20,21,0,1,17,0,10,0,49,0,26,8,16,22,0,9,11,14,21,0,9,0,31,0,49,21,0,7,8,0,51,0,27,8,16,22,0,10,11,14,21,0,10,0,10,21,0,9,17,22,0,11,11,14,21,0,9,0,31,21,0,7,17,0,30,16,0,39,0,31,7,22,0,7,13,14,21,0,11,0,8,16,0,2,22,0,4,13,14,0,59,0,12,21,0,5,17,22,0,12,11,14,21,1,11,0,32,16,0,0,0,58,17,0,14,21,0,1,17,0,11,21,0,11,17,22,0,13,11,14,21,1,9,21,1,20,21,0,1,17,0,10,21,0,9,17,0,10,21,0,12,17,0,31,0,39,0,21,7,0,1,0,21,0,47,0,46,0,0,7,8,19,0,58,19,0,30,0,50,0,30,0,50,0,39,0,31,7,8,0,1,0,39,0,31,7,19,0,31,0,49,0,30,8,0,18,19,8,0,18,0,21,0,55,19,19,21,0,7,17,0,24,0,55,17,0,0,0,58,17,0,46,0,0,7,16,0,30,16,22,0,14,11,14,21,0,8,0,31,21,0,14,17,0,46,0,0,7,16,22,0,15,11,0,30,16,22,0,16,11,14,21,0,16,0,39,0,31,7,22,0,14,13,14,21,0,16,0,39,0,31,7,22,0,15,13,14,21,0,14,0,39,0,31,7,22,0,1,13,14,21,0,8,0,31,21,0,14,17,22,0,17,11,14,0,59,0,11,21,0,17,17,0,29,16,22,0,18,11,14,0,59,0,12,21,0,17,17,22,0,19,11,0,46,0,0,7,16,22,0,20,11,14,0,14,0,18,0,29,0,10,19,21,0,19,19,0,29,0,49,0,26,0,49,0,58,8,8,9,0,8,9,22,0,21,11,14,21,0,1,0,30,21,1,14,0,32,16,0,0,0,61,17,0,0,0,59,0,60,0,64,0,61,3,4,17,17,21,0,21,0,49,0,60,8,0,2,0,62,19,0,6,21,0,21,0,49,0,62,8,19,0,2,0,62,19,0,0,21,0,21,0,49,0,58,8,19,0,21,0,59,19,16,22,0,22,11,14,21,1,23,0,31,21,0,22,17,22,0,23,11,14,21,0,4,0,31,0,49,21,0,14,0,31,21,0,18,17,8,0,51,0,64,0,25,16,0,29,0,49,0,15,0,49,0,62,8,0,0,0,58,19,8,16,0,31,21,0,22,0,24,0,58,17,17,8,16,22,0,4,12,14,21,0,4,0,15,0,58,17,0,10,21,0,4,0,14,0,60,17,0,31,0,49,21,0,7,8,0,51,0,27,8,16,17,0,19,0,2,0,49,0,13,0,47,0,25,8,0,0,0,58,19,8,0,46,0,6,7,9,0,48,0,14,8,0,10,0,49,0,8,8,19,0,9,0,18,19,21,0,13,17,0,0,22,0,4,13,14,21,1,21,0,1,21,0,1,17,22,0,24,11,21,0,3,0,50,0,11,8,0,9,0,15,0,49,0,59,8,19,16,22,0,25,11,0,29,16,22,0,26,11,14,21,0,1,0,31,21,0,26,17,22,0,27,11,14,21,1,14,21,1,20,21,0,1,17,0,29,16,22,0,28,11,14,21,1,10,0,32,16,0,14,21,0,1,17,0,31,21,1,10,21,1,20,21,0,1,17,0,2,0,49,0,13,0,47,0,25,8,8,16,0,46,0,6,7,16,17,22,0,29,11,14,21,0,8,0,1,21,0,5,17,0,31,21,0,14,17,0,46,0,0,7,16,0,30,16,22,0,7,12,14,21,0,14,0,31,21,0,7,17,22,0,30,11,14,21,0,9,0,1,21,0,10,17,0,31,21,0,30,17,0,12,0,29,0,48,0,1,8,0,11,19,0,59,17,0,39,0,3,7,0,62,17,0,0,0,58,17,22,0,31,11,14,21,1,11,0,32,16,0,0,0,61,17,0,14,21,0,1,17,0,31,21,0,7,17,0,29,16,22,0,32,11,14,21,0,9,0,31,21,0,30,17,0,30,16,22,0,33,11,0,39,0,31,7,22,0,7,13,14,21,0,14,0,31,21,0,7,17,22,0,30,12,14,21,0,7,0,39,0,31,7,22,0,1,13,14,21,0,30,0,39,0,31,7,22,0,4,13,14,21,0,30,0,39,0,31,7,22,0,12,13,14,21,0,9,0,12,21,0,10,17,0,31,21,0,30,17,0,29,16,22,0,34,11,14,21,0,7,0,30,16,22,0,35,11,14,21,0,33,0,30,16,0,31,22,0,32,13,14,21,1,9,21,1,20,21,0,1,17,22,0,36,11,14,21,0,9,0,31,21,0,30,17,0,10,21,0,12,17,0,10,21,0,36,17,22,0,37,11,14,21,1,10,0,32,16,0,39,0,22,7,0,62,17,21,1,20,21,0,1,17,22,0,38,11,14,21,0,38,0,10,21,0,37,17,0,1,22,0,4,13,14,0,62,0,16,21,0,4,17,22,0,39,11,14,0,60,0,14,21,0,4,17,0,26,16,0,10,0,58,0,16,21,0,4,17,17,22,0,40,11,14,21,0,40,0,31,21,0,37,0,27,16,0,2,0,49,0,13,0,47,0,25,8,8,16,0,46,0,6,7,16,17,22,0,41,11,14,21,0,40,0,26,16,0,9,21,1,10,0,32,16,0,0,0,58,17,0,14,21,0,1,17,17,0,11,21,0,41,17,22,0,42,11,14,0,60,0,14,21,0,4,17,0,26,16,0,11,21,0,38,17,0,10,21,0,39,17,22,0,43,11,14,21,0,42,0,10,21,0,43,17,0,8,16,0,28,16,0,2,0,47,0,46,0,6,7,8,0,1,0,18,19,0,49,0,13,0,47,0,25,8,8,16,0,28,16,22,0,44,11,14,21,0,38,0,29,16,21,0,44,0,50,0,31,8,0,0,0,58,19,0,0,0,19,19,16,22,0,45,11,14,0,58,0,1,21,0,45,17,0,43,0,29,7,16,0,23,21,0,1,0,13,16,17,0,27,0,50,0,1,8,16,0,31,21,0,35,17,0,46,0,0,7,16,0,27,16,22,0,46,11,0,31,21,0,7,17,22,0,47,11,14,21,0,4,0,29,0,49,21,0,47,8,0,51,0,41,0,55,7,8,16,22,0,4,12,14,21,0,43,0,8,16,0,46,0,0,7,0,2,0,47,0,46,0,6,7,8,0,1,0,19,19,21,0,37,19,0,15,0,11,0,7,19,0,62,19,0,9,0,19,19,16,0,9,21,0,37,0,2,0,49,0,13,0,47,0,25,8,0,0,0,58,19,8,0,46,0,6,7,9,0,48,0,15,8,21,0,38,17,17,22,0,48,11,14,21,0,38,0,10,21,0,37,17,0,26,16,0,12,21,0,39,17,22,0,49,11,14,21,0,49,0,29,16,0,28,16,22,0,50,11,14,21,0,49,0,27,16,0,11,21,0,39,17,0,10,0,58,0,14,21,0,4,17,17,0,11,21,0,49,0,26,16,0,9,21,0,43,17,17,0,9,21,0,41,0,8,16,0,10,21,0,48,17,17,0,11,21,0,47,0,26,16,17,0,29,16,22,0,51,11,14,0,59,0,14,21,0,4,17,0,11,21,0,43,17,0,10,0,59,0,16,21,0,4,17,0,9,21,0,41,17,17,0,9,21,1,13,0,32,16,0,13,21,0,1,17,17,0,26,16,0,31,21,0,51,17,22,0,52,11,14,21,0,3,0,0,21,1,21,17,0,16,21,0,1,17,22,0,53,11,14,21,1,8,0,44,0,0,7,16,0,0,0,55,17,0,15,21,0,1,17,0,10,21,0,53,17,0,29,16,22,0,54,11,14,21,0,1,0,31,21,0,54,17,22,0,55,11,0,36,16,0,9,16,22,0,56,11,14,21,1,11,0,32,16,0,0,0,64,17,0,14,21,0,1,0,29,21,0,12,17,17,22,0,57,11,14,0,58,0,21,21,0,37,17,0,9,21,0,12,0,21,0,58,17,17,0,1,0,59,0,21,21,0,36,17,17,0,46,0,0,7,16,0,29,0,58,0,21,21,0,12,17,17,0,24,0,49,0,1,8,0,1,0,24,19,0,58,17,0,29,21,0,57,17,0,0,0,58,17,22,0,58,11,14,21,0,57,0,21,0,59,17,0,31,0,49,0,46,0,0,7,8,21,0,12,17,0,12,21,0,36,17,0,29,16,22,0,59,11,14,21,1,11,0,32,16,0,0,0,62,17,0,14,21,0,1,17,0,29,16,22,0,60,11,14,21,0,46,0,9,21,0,29,17,0,9,21,0,25,17,22,0,61,11,0,31,21,0,26,17,22,0,62,11,14,0,59,0,21,21,0,61,17,0,46,0,0,7,16,0,29,0,58,0,21,21,0,19,17,17,0,27,0,50,0,1,8,16,22,0,63,11,14,21,0,20,0,31,21,0,26,17,0,39,21,0,16,0,31,21,0,18,17,0,21,21,0,1,0,13,16,17,7,0,31,0,29,0,49,21,0,62,8,19,0,21,21,0,16,0,29,21,0,19,17,0,21,0,55,17,0,50,0,31,8,19,16,22,0,64,11,14,21,0,64,0,30,16,0,31,0,49,21,0,27,0,29,0,49,21,0,62,8,0,50,0,21,8,16,22,0,65,11,0,50,0,31,8,0,30,9,8,16,22,0,66,11,14,21,0,64,0,19,0,31,21,0,66,0,29,0,49,0,15,0,49,21,0,26,0,13,16,8,8,16,19,0,13,0,49,0,27,8,9,0,48,0,10,8,21,0,65,17,0,44,0,9,7,0,58,17,0,38,0,114,17,14,21,0,66,0,31,0,49,21,0,62,0,39,0,29,7,16,0,1,16,0,21,21,0,62,17,0,50,0,31,0,47,0,46,0,0,7,8,8,0,30,9,8,16,0,29,0,49,21,0,26,0,13,16,0,50,0,11,8,8,16,22,0,66,12,14,21,0,66,0,39,0,31,7,22,0,62,13,14,21,0,27,0,31,21,0,66,17,0,13,0,49,0,27,8,0,11,21,0,62,19,0,50,0,19,0,44,0,10,7,0,59,19,0,53,0,39,0,29,0,47,21,1,29,8,7,8,8,16,14,21,0,26,0,31,0,49,21,0,66,8,0,51,0,31,0,49,21,0,62,0,2,0,49,0,13,0,47,0,25,8,8,16,0,46,0,6,7,16,8,8,16,22,0,67,11,14,21,0,24,0,31,21,0,28,17,0,0,0,62,17,0,15,0,49,0,59,8,0,50,0,0,8,16,0,0,21,0,22,0,7,0,62,17,0,2,0,60,17,0,31,21,0,20,0,31,21,0,28,17,17,17,0,21,21,0,61,0,46,0,0,7,16,0,8,0,49,0,2,0,49,21,0,19,8,0,46,0,6,7,9,8,16,0,1,21,0,23,0,31,21,0,20,17,17,0,31,21,0,67,17,17,22,0,68,11,14,21,0,28,0,21,21,0,26,17,22,0,69,11,0,11,16,0,20,0,60,17,0,21,16,22,0,70,11,14,21,0,46,0,31,21,0,69,17,0,0,0,68,17,21,0,28,0,41,0,59,7,16,0,21,21,0,67,21,0,15,0,50,0,31,8,0,48,0,1,8,21,0,26,17,17,21,0,68,3,3,22,0,71,11,14,21,0,35,0,31,22,0,18,13,14,21,0,54,21,0,54,21,0,18,21,0,18,21,0,60,21,0,59,21,0,32,21,0,32,21,0,34,21,0,34,21,0,45,21,0,44,0,31,21,0,50,17,0,6,0,58,17,0,0,21,0,50,17,21,0,52,0,0,21,0,51,17,0,0,0,49,21,0,44,0,50,0,31,8,0,2,21,0,52,19,8,16,3,13,0,21,16,0,39,0,31,7,21,0,7,17,0,21,21,0,70,17,0,30,16,22,0,72,11,14,21,0,54,0,41,0,59,7,16,21,0,55,0,33,21,0,56,17,21,0,18,0,41,0,69,7,16,21,0,18,0,13,16,0,25,16,0,0,0,58,17,3,4,0,21,21,0,71,17,0,21,16,22,0,73,11,14,21,0,60,0,41,0,70,7,16,21,0,59,0,41,0,71,7,16,21,0,47,0,31,21,0,32,17,0,0,0,60,17,21,0,58,21,0,47,0,31,21,0,34,17,0,0,0,60,17,21,0,31,21,0,1,0,0,21,0,42,17,0,29,21,0,38,17,0,0,21,1,10,0,32,16,0,1,0,72,17,17,21,0,4,0,31,21,0,50,17,0,0,0,61,17,21,0,41,0,31,21,0,51,17,0,2,0,74,17,0,1,21,0,52,17,0,0,0,73,17,0,14,0,49,0,54,8,0,2,0,57,19,0,0,0,19,19,16,3,9,0,21,16,0,21,21,0,73,17,0,31,21,0,72,17,22,0,74,11,14,21,0,23,0,0,21,0,63,17,0,41,0,11,0,48,0,22,8,7,21,0,60,0,13,0,48,0,22,8,21,0,73,17,21,1,20,21,0,72,17,0,21,0,58,17,0,29,16,0,39,0,31,7,21,0,74,0,6,0,58,17,0,43,0,4,7,0,67,17,0,5,16,0,0,0,58,17,0,21,0,59,17,0,46,0,0,7,16,17,17,0,41,0,21,7,0,62,0,25,0,48,0,28,0,50,0,42,0,22,7,8,8,0,60,17,0,20,16,0,31,21,0,22,17,17,22,0,75,11,14,0,70,0,21,21,0,74,17,21,1,27,16,21,0,56,21,0,75,3,3,25,21,0,1,21,1,24,16,22,0,3,22,0,4,22,0,5,22,0,6,4,4,11,14,21,0,3,21,1,30,21,0,5,21,0,4,3,2,17,22,0,7,22,0,8,22,0,9,4,3,11,14,21,0,6,0,21,21,0,2,17,0,31,21,1,21,0,16,21,0,8,17,0,2,21,0,2,0,13,16,0,1,21,0,5,17,0,0,21,1,21,17,17,0,1,21,0,8,17,17,22,0,10,11,14,21,0,7,21,0,10,21,0,9,3,3,25,21,0,1,0,32,0,55,17,0,14,0,59,17,25,21,0,1,0,31,0,49,21,0,2,0,29,21,0,1,17,8,0,51,0,41,0,58,7,8,16,21,1,11,21,0,2,0,39,0,31,7,16,17,25,21,0,2,0,2,16,22,0,3,11,14,21,0,1,21,0,3,0,44,0,10,7,16,0,53,0,29,0,49,21,0,3,8,0,48,21,1,3,0,50,0,3,8,0,5,9,0,50,21,0,0,8,8,0,21,0,7,0,0,21,0,3,0,50,0,2,8,19,0,49,21,1,3,8,19,8,0,58,0,1,21,0,2,17,17,25,21,0,1,0,26,16,0,0,21,0,2,17,0,46,0,6,7,16,0,6,21,0,1,17,25,0,34,0,14,0,18,0,47,0,13,8,19,0,39,0,29,7,0,19,19,0,0,21,0,2,19,0,39,0,31,7,21,2,2,19,0,21,0,94,19,0,21,21,0,1,19,0,21,0,108,19,25]) ,[runtime[0],runtime[1],runtime[2],runtime[3],runtime[4],runtime[6],runtime[7],runtime[8],runtime[9],runtime[10],runtime[11],runtime[12],runtime[13],runtime[14],runtime[15],runtime[16],runtime[17],runtime[19],runtime[20],runtime[21],runtime[22],runtime[23],runtime[24],runtime[25],runtime[26],runtime[27],runtime[28],runtime[29],runtime[30],runtime[32],runtime[33],runtime[35],runtime[36],runtime[37],runtime[38],runtime[39],runtime[40],runtime[41],runtime[42],runtime[44],runtime[45],runtime[46],runtime[47],runtime[48],runtime[49],runtime[50],runtime[51],runtime[52],runtime[53],runtime[54],runtime[55],runtime[56],runtime[58],runtime[61],10,-1,26,9,1,0,3,5,2,6,4,3.14159265358979,Infinity,128,21,15,25,14,11,16,7,'','0','#','\'','\"','@',str("+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!"),str("˙˜˘¨⌜⁼´˝`"),str("∘○⊸⟜⌾⊘◶⎉⚇⍟"),str("⋄,"),str("←↩→"),str("(){}⟨⟩"),str("‿"),str("·"),str("𝕊𝕏𝕎𝔽𝔾𝕤𝕩𝕨𝕗𝕘"),str("π∞¯."),str("_"),str("aA"),str("𝕨"),str(" "),str("#\'\"@"),str("Unknown character"),str("s"),str(": "),str("Unclosed quote"),str("Letter"),str(" \""),str("\" not allowed in numbers"),str("ea"),str("Negative sign in the middle of a number"),str("Portion of a number is empty"),str("Ill-formed decimal or exponent use"),str("π and ∞ must occur alone"),str("Missing "),str("opening"),str("closing"),str("Malformed bracket nesting"),str("Undefined identifier"),str("Swapped open and closed brackets"),str("Multiple definitions")] ,[[0,1,0,32],[0,0,410,3],[1,1,449,4],[0,0,542,37],[0,0,1911,3],[0,0,1958,20],[0,0,2663,6],[0,0,2759,6],[0,0,2872,3],[0,0,2902,76],[0,0,6095,11],[0,0,6211,3],[0,0,6225,3],[0,0,6265,4],[0,0,6351,3],[2,1,6376,3]] ); runtime[42] = assertFn("!"); runtime.map((r,i) => { let prims = "+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!˙˜˘¨⌜⁼´˝`∘○⊸⟜⌾⊘◶⎉⚇⍟"; r.glyph = prims.charAt(i); // Used to format }); let bqn = src => run.apply(null,compile(str(src),runtime)); // Formatter let fmt0 = x => typeof x === "number" ? (x==Infinity?"∞":x==-Infinity?"¯∞":(""+x).replace(/-/g,"¯")) : typeof x === "function" ? (x.glyph||(x.m?"*"+x.m+"-modifier*":"*function*")) : ""+x; let fmt1 = run( new Uint8Array([15,1,25,21,0,1,22,0,2,11,14,0,59,0,13,0,16,0,16,19,0,35,0,60,8,3,2,0,39,0,8,0,35,0,52,8,8,21,0,2,3,2,0,39,0,52,0,36,0,7,8,8,0,17,9,22,0,3,11,14,0,9,0,7,0,46,19,0,41,15,2,8,22,0,4,11,14,15,3,22,0,5,11,14,21,0,4,0,36,21,0,5,8,22,0,6,11,14,15,4,15,5,3,2,0,39,15,6,0,44,3,2,0,39,0,8,0,36,0,8,0,35,0,44,8,0,34,0,6,8,8,8,8,22,0,7,11,14,0,70,0,17,0,69,17,15,7,15,8,3,2,0,39,0,8,0,9,0,45,19,0,6,0,9,0,8,0,46,19,19,8,3,2,0,39,0,12,0,12,0,45,0,45,3,2,19,8,22,0,8,11,14,15,9,0,38,15,10,8,22,0,9,11,14,15,11,22,0,10,11,14,15,12,15,13,15,14,3,3,0,39,0,25,0,52,7,0,7,0,15,19,0,33,0,30,0,0,7,0,10,0,0,0,7,0,35,0,45,8,19,0,8,19,8,8,22,0,11,11,14,21,0,3,21,0,11,21,0,10,3,3,0,39,0,11,0,3,0,46,19,8,22,0,12,11,14,21,0,12,0,33,0,27,0,51,0,0,0,52,17,0,36,0,16,8,7,8,0,15,9,0,19,0,42,19,25,21,0,1,0,12,16,0,19,0,42,17,22,0,3,11,14,0,44,0,28,0,18,7,21,0,3,0,4,0,44,17,0,1,16,17,0,20,0,37,0,32,0,26,0,29,0,2,7,7,7,8,16,0,30,0,42,0,43,3,2,0,40,0,0,8,7,16,0,15,16,22,0,4,11,14,21,0,4,0,23,0,35,0,42,8,0,37,0,45,8,16,22,0,4,12,14,15,15,22,0,5,11,14,21,0,1,0,15,21,0,1,0,12,16,0,23,0,42,17,0,16,21,0,3,0,30,0,2,7,16,17,17,21,0,5,0,18,0,35,0,30,0,0,7,8,3,2,0,39,21,0,3,0,24,0,45,17,0,23,16,8,21,0,4,17,25,0,53,0,15,21,0,1,0,8,16,21,0,2,3,2,17,22,0,3,11,14,21,0,3,21,0,1,21,0,3,3,3,0,17,16,0,16,16,25,0,64,0,16,21,0,1,0,22,16,0,19,0,44,17,0,19,0,42,17,17,0,16,0,63,17,0,17,16,25,21,0,1,0,12,16,0,23,0,42,17,22,0,3,11,14,0,65,21,0,2,0,14,0,3,0,44,19,0,26,0,22,7,0,66,19,0,15,9,21,1,2,3,2,0,39,0,7,0,35,0,47,8,8,16,3,2,0,16,16,0,18,21,0,3,17,0,17,16,21,0,1,0,23,0,37,0,67,0,23,0,44,0,1,21,0,2,17,0,4,0,45,17,0,3,0,48,17,17,8,16,0,68,0,18,0,35,0,1,8,21,0,3,17,0,17,16,3,3,0,16,16,25,21,0,1,0,22,16,0,29,0,9,7,0,62,17,0,31,0,1,7,16,0,32,0,0,7,16,0,9,0,46,17,0,30,0,6,7,16,25,21,0,1,0,28,0,61,7,16,21,1,5,0,44,17,21,1,7,0,46,17,0,23,0,35,0,45,0,42,3,2,8,0,37,0,54,8,16,25,21,0,1,0,12,16,0,71,0,28,21,1,2,7,0,28,0,72,0,36,0,16,8,7,9,0,16,9,0,23,0,35,0,42,8,0,37,0,55,8,9,3,2,0,39,0,8,0,7,0,44,19,8,16,0,26,0,16,7,0,62,17,0,17,16,25,21,0,1,0,28,0,12,7,16,22,0,3,11,14,21,0,3,0,28,0,23,7,0,44,17,0,15,0,25,0,44,7,0,1,0,9,19,0,41,0,31,0,4,7,8,3,2,0,39,0,9,0,7,0,45,19,8,16,22,0,4,11,14,21,0,3,0,28,0,23,7,16,0,9,0,7,0,45,19,0,41,0,44,0,40,0,31,0,4,7,8,8,16,22,0,5,11,14,21,0,1,0,28,0,18,7,0,44,0,18,21,0,4,0,8,16,0,2,21,0,2,17,0,1,16,17,0,5,21,0,4,17,0,2,21,0,2,17,0,29,0,16,7,21,0,5,17,17,0,9,0,1,0,46,19,0,4,0,45,19,0,41,0,17,8,16,0,46,0,40,0,16,8,16,25,21,0,1,21,1,9,0,44,17,25,21,0,1,0,28,21,1,12,7,16,21,1,9,21,0,2,17,21,1,6,0,46,17,21,1,7,21,0,1,0,9,16,17,25,21,0,1,0,12,16,0,19,0,42,17,22,0,3,11,0,8,16,0,1,16,0,9,0,35,0,45,8,0,41,0,43,8,16,22,0,4,11,14,0,56,22,0,5,11,14,15,16,22,0,6,11,14,21,0,1,0,21,0,35,0,14,0,9,21,0,5,19,0,0,0,44,19,8,21,0,6,3,2,0,39,0,9,0,8,0,44,19,8,16,22,0,1,12,14,21,0,1,0,9,16,22,0,7,11,14,21,0,5,0,18,0,35,0,1,8,21,0,3,17,21,0,4,0,40,0,16,8,21,0,1,17,21,0,4,0,40,0,16,8,21,0,5,0,18,21,0,3,17,17,0,17,16,21,0,7,0,8,0,44,17,0,41,21,1,4,21,1,5,0,44,19,21,1,7,21,0,7,19,8,16,25,21,0,1,21,1,10,21,1,8,3,2,0,39,0,12,0,9,0,45,19,0,30,0,6,7,9,8,16,25,21,0,1,21,1,10,0,42,17,25,21,0,2,0,0,0,44,17,0,21,16,22,0,3,11,14,0,61,0,15,21,0,1,0,12,16,0,23,0,42,17,17,0,16,21,0,1,17,0,22,21,0,3,0,21,0,35,21,0,3,0,24,16,0,5,16,8,0,37,0,28,0,42,7,8,16,17,25,0,50,0,0,0,52,17,0,7,21,0,1,17,0,2,0,52,0,1,0,58,17,17,0,0,0,49,0,0,0,52,17,0,14,0,1,0,57,19,0,2,0,9,19,21,0,1,17,17,0,0,21,0,1,17,25]) ,[runtime[0],runtime[1],runtime[2],runtime[6],runtime[7],runtime[9],runtime[11],runtime[12],runtime[14],runtime[15],runtime[16],runtime[18],runtime[19],runtime[20],runtime[21],runtime[22],runtime[23],runtime[24],runtime[25],runtime[26],runtime[30],runtime[32],runtime[35],runtime[36],runtime[39],runtime[43],runtime[44],runtime[45],runtime[46],runtime[47],runtime[49],runtime[50],runtime[51],runtime[52],runtime[53],runtime[54],runtime[55],runtime[56],runtime[57],runtime[58],runtime[59],runtime[61],-1,Infinity,1,0,2,5,4,127,32,10,'',' ','┐','⥊','\"','␡','␀',str("@"),str("\'"),str(" "),str("⟨⟩"),str("⟨"),str("⟩"),str("┌"),str("·─"),str("·╵╎┆┊"),str("┘"),str("┌┐"),str("└┘"),str(""),str("‿")] ,[[0,1,0,0],[1,1,3,13],[0,0,316,6],[0,0,482,4],[0,0,521,3],[0,0,551,4],[0,0,674,3],[0,0,712,3],[0,0,751,3],[0,0,817,6],[0,0,992,3],[0,0,1002,3],[0,0,1036,8],[0,0,1218,3],[0,0,1247,3],[0,0,1257,4],[0,0,1325,3]] )(a=>str(fmt0(a))); let fmt = x => fmt1(x).map(c=>c===0?" ":c).join(""); if(typeof module!=='undefined'){module.exports=bqn;}