#! /usr/bin/env node "use strict"; // Virtual machine let has = x => x!==undefined; let isnum = x => typeof x === "number" let isfunc = x => typeof x === "function" let call = (f,x,w) => { if (x===undefined) return x; if (!isfunc(f)) return f; if (f.m) throw Error("Runtime: Cannot call modifier as function"); return f(x, w); } let getv= (a,i) => { let v=a[i]; if (v===null) throw Error("Runtime: Variable referenced before definition"); return v; } let get = x => x.e ? getv(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 genjs = (B, p, L) => { // Bytecode -> Javascript compiler let rD = 0; let r = L?"let l=0;try{":""; let fin = L?"}catch(e){let s=L.map(p=>p[l]);s.sh=[1,2];let m=[s,e.message];m.loc=true;m.sh=[2];e.message=m;throw e;}":""; 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 = () => { return B[p++]; } let ge = n => "e"+".p".repeat(n); loop: while(true) { r+="\n"; if (p>B.length) throw Error("Internal compiler error: Unclosed function"); if (L) r+="l="+p+";"; switch(B[p++]) { case 0: { r+= rP("O["+num()+"]"); break; } case 3: case 4: { let n=num(); rD-= n; r+=rP("llst(["+(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("train2(" +g+","+h+")"); break; } case 10:case 19: { let f=rG(),g=rG(),h=rG(); r+=rP("train3("+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("getv("+ge(num())+","+num()+")"); 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+fin; } let run = (B,O,S,L) => { // Bytecode, Objects, Sections/blocks let train2=( g,h)=>{ let t=(x,w)=>call(g,call(h,x,w)); t.repr=()=>[2, g,h];return t;} let train3=(f,g,h)=>{if(!has(f))return train2(g,h);let t=(x,w)=>call(g,call(h,x,w),call(f,x,w));t.repr=()=>[3,f,g,h];return t;} 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, L); let repdf = ["","4,f,mod","5,f,mod,g"].map(s=>s?"fn.repr=()=>["+s+"];":s); 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+"};"+repdf[type]+"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,has,call,getv,get,set,llst,train2,train3,O,L,def) => D => oe => {"+c+"};")() (chkM,has,call,getv,get,set,llst,train2,train3,O,L,def); }); D.forEach((d,i) => {D[i]=d(D)}); return D[0]([]); } // Runtime let assertFn = pre => (x,w) => { if (x!==1) throw {src:pre, message:w}; return x; } let arr = (r,sh,fill) => {r.sh=sh;r.fill=fill;return r;} let list = (l,fill) => arr(l,[l.length],fill); let llst = l => list(l, l.length>0&&l.every(isnum)?0:undefined); let str = s => list(Array.from(s), ' '); let setrepr = (r,f) => {f.repr=r; return f;} 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 (!isnum(x)) { 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 times = (x,w) => { if (isnum(x)&&isnum(w)) return x*w; throw Error("×: Arguments must be numbers"); } let divide = (x,w) => { if (isnum(x)&&(!has(w)||isnum(w))) return (has(w)?w:1)/x; throw Error("÷: Arguments must be numbers"); } let power = (x,w) => { if (isnum(x)) { if (!has(w)) return Math.exp(x); if (isnum(w)) return Math.pow(w,x); } throw Error("⋆: Arguments must be numbers"); } let log = (x,w) => { if (isnum(x)) { if (!has(w)) return Math.log(x); if (isnum(w)) return Math.log(x)/Math.log(w); } throw Error("⋆⁼: Arguments must be numbers"); } let floor = (x,w) => { if (isnum(x)) return Math.floor(x); throw Error("⌊𝕩: Argument must be a number"); } let lesseq = (x,w) => { let s=typeof w, t=typeof x; if (s==="function"||t==="function") throw Error("𝕨≤𝕩: Cannot compare operations"); return +(s!==t ? s<=t : w<=x); } let equals = (x,w) => { let a,b; if (typeof(w)!=="function" || !(a=w.repr)) return x===w; if (typeof(x)!=="function" || !(b=x.repr)) return false; b=b(); return a().every((e,i)=>e===b[i]); } let table = f => setrepr(()=>[4,f,table], (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 = f => setrepr(()=>[4,f,scan], (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 setrepr(()=>[5,f,cases,g], (x,w)=>has(w)?call(g,x,w):call(f,x,w)); table.m=scan.m=1; cases.m=2; let group_len = (x,w) => { // ≠¨⊔ 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,0); } 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,x.fill); } let type = x => isfunc(x) ? 3+(x.m||0) : x.sh ? 0 : 2-isnum(x); let decompose = x => list(!isfunc(x) ? [-1,x] : x.glyph ? [0,x] : x.repr ? x.repr() : [1,x]); let glyph = x => x.glyph; let tofill = x => isfunc(x) ? undefined : x.sh ? arr(x.map(tofill),x.sh,x.fill) : isnum(x)?0 : ' '; let fill = (x,w) => { if (has(w)) { return arr(x.slice(),x.sh,tofill(w)); } else { let f = x.fill; if (!has(f)) throw Error("Fill does not exist"); return f; } } let fill_by = (f,g) => (x,w) => { let r = f(x,w); let a2fill = x => isfunc(x)?x:isnum(x)?0:' '; let xf=x.sh?x.fill:a2fill(x); if (r.sh&&has(xf)) { try { let wf = !has(w) ? w : !w.sh ? a2fill(w) : has(w.fill) ? w.fill : runtime[42]; r.fill=tofill(g(xf,wf)); } catch(e){} } return r; } fill_by.m=2; let provide = [ type // Type ,decompose // Decompose ,glyph // Glyph ,fill // Fill ,log // Log ,group_len // GroupLen ,group_ord // GroupOrd ,assertFn("") // ! ,plus // + ,minus // - ,times // × ,divide // ÷ ,power // ⋆ ,floor // ⌊ ,(x,w) => has(w)?+equals(x,w):x.sh?x.sh.length:0 // = ,lesseq // ≤ ,(x,w) => list(x.sh,0) // ≢ ,(x,w) => arr(x.slice(),has(w)?w:[x.length],x.fill) // ⥊ ,(x,w) => x[w] // ⊑ ,(x,w) => list(Array(x).fill().map((_,i)=>i),0) // ↕ ,table // ⌜ ,scan // ` ,fill_by // _fillBy_ ,cases // ⊘ ]; let runtime = run( [0,2,14,15,1,22,0,0,11,14,15,2,22,0,1,11,14,15,3,0,23,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,0,0,14,0,24,19,22,0,10,11,14,0,24,0,14,21,0,7,0,13,8,3,2,21,0,0,0,0,0,14,0,25,19,8,22,0,11,11,14,0,24,0,14,21,0,7,0,13,8,0,10,0,15,21,0,7,0,24,8,19,3,2,21,0,0,0,0,0,14,0,25,19,8,22,0,12,11,14,15,12,0,17,3,2,21,0,0,21,0,10,8,22,0,13,11,14,15,13,0,23,15,14,8,22,0,14,11,14,15,15,22,0,15,11,14,21,0,10,0,9,0,25,19,21,0,9,21,0,15,8,22,0,16,11,14,21,0,4,0,15,7,22,0,17,11,14,21,0,17,0,9,0,25,19,0,23,21,0,15,8,22,0,18,11,14,0,15,0,9,0,25,19,22,0,19,11,14,15,16,0,18,21,0,19,19,0,23,0,13,8,22,0,20,11,14,15,17,0,18,21,0,18,19,0,23,0,9,21,0,5,21,0,20,21,0,5,0,9,8,8,8,22,0,21,11,14,0,9,21,0,1,3,2,21,0,0,0,15,21,0,7,0,24,8,8,22,0,22,11,14,0,25,0,16,0,18,0,24,19,3,2,21,0,0,0,14,21,0,18,0,24,19,8,22,0,23,11,14,15,18,22,0,24,11,14,21,0,24,22,0,25,11,14,0,16,21,0,8,15,19,8,22,0,26,11,14,15,20,22,0,27,11,14,21,0,1,0,22,15,21,15,22,3,2,21,0,0,21,0,1,21,0,5,0,14,8,0,14,0,25,19,8,8,22,0,28,11,14,21,0,28,22,0,29,11,14,15,23,22,0,30,11,14,15,24,22,0,31,11,14,0,15,0,9,21,0,17,19,22,0,32,11,14,0,25,0,17,0,18,0,24,19,21,0,8,0,15,0,10,0,26,19,0,9,0,25,19,15,25,3,2,21,0,0,21,0,1,21,0,5,21,0,10,8,8,8,3,2,21,0,0,21,0,1,21,0,5,0,16,8,21,0,25,0,10,7,0,25,19,21,0,18,0,24,19,8,22,0,33,11,14,21,0,32,21,0,33,21,0,4,21,0,33,7,0,9,9,3,2,21,0,0,21,0,2,21,0,5,21,0,10,8,8,15,26,3,3,21,0,0,21,0,10,21,0,6,0,8,8,8,22,0,34,11,14,15,27,22,0,35,11,14,15,28,22,0,36,11,14,0,14,21,0,18,0,24,19,21,0,9,21,0,1,0,22,15,29,8,8,22,0,37,11,14,0,14,21,0,18,0,24,19,21,0,9,21,0,1,0,22,15,30,8,8,22,0,38,11,14,15,31,22,0,39,11,14,15,32,22,0,40,11,14,15,33,22,0,41,11,14,15,34,22,0,42,11,14,15,35,22,0,43,11,14,15,36,22,0,44,11,14,15,37,22,0,45,11,14,21,0,13,0,3,0,18,21,0,7,0,24,8,3,2,21,0,0,21,0,23,21,0,18,0,24,19,8,9,22,0,46,11,14,15,38,22,0,47,11,14,15,39,22,0,48,11,14,15,40,22,0,49,11,14,15,41,22,0,50,11,14,0,24,0,14,21,0,7,21,0,3,21,0,50,7,8,3,2,21,0,0,0,0,0,14,0,28,19,8,22,0,51,11,14,15,42,22,0,52,11,14,21,0,1,21,0,1,21,0,1,21,0,25,15,43,7,9,15,44,15,45,15,46,3,6,21,0,0,21,0,2,8,22,0,53,11,14,15,47,22,0,54,11,14,21,0,10,21,0,6,0,14,8,0,24,3,2,21,0,1,21,0,5,21,0,10,8,0,14,3,2,0,14,21,0,6,0,14,8,0,24,3,2,0,16,21,0,6,21,0,49,0,14,7,8,21,0,25,0,10,7,0,25,19,0,24,3,2,15,48,3,5,21,0,25,15,49,7,16,22,0,55,11,14,0,24,15,50,3,2,21,0,0,21,0,10,8,22,0,56,11,14,21,0,55,0,23,21,0,56,8,22,0,57,11,14,21,0,55,0,9,0,25,19,0,23,3,0,0,16,3,2,21,0,0,21,0,10,8,8,22,0,58,11,14,21,0,57,21,0,5,0,7,8,21,0,2,21,0,1,19,22,0,59,11,14,0,17,21,0,5,0,3,0,22,21,0,1,8,21,0,25,21,0,59,0,22,21,0,1,8,7,3,2,21,0,0,21,0,23,21,0,18,0,24,19,8,8,22,0,60,11,14,15,51,22,0,61,11,14,21,0,10,21,0,9,21,0,27,21,0,61,15,52,8,8,22,0,62,11,14,15,53,22,0,63,11,14,15,54,22,0,64,11,14,21,0,10,0,7,0,58,19,21,0,2,15,55,21,0,61,21,0,62,21,0,64,21,0,63,3,2,21,0,0,0,20,0,14,0,14,0,25,19,7,21,0,25,0,10,7,0,25,19,8,21,0,64,3,3,21,0,0,0,14,21,0,20,0,26,19,8,8,19,22,0,65,11,14,15,56,22,0,66,11,14,21,0,66,0,63,21,0,22,21,0,8,0,14,8,0,9,0,25,19,15,57,3,3,7,22,0,67,11,14,21,0,66,0,64,0,14,21,0,7,0,24,8,0,9,0,25,19,15,58,3,3,7,22,0,68,11,14,15,59,22,0,69,11,14,15,60,22,0,70,11,14,15,61,22,0,71,11,14,15,62,22,0,72,11,14,15,63,22,0,73,11,14,15,64,22,0,74,11,14,15,65,22,0,75,11,14,21,0,31,0,11,7,22,0,76,11,14,21,0,31,0,12,7,22,0,77,11,14,21,0,4,21,0,76,21,0,8,21,0,77,8,7,0,23,0,26,21,0,76,16,21,0,8,21,0,77,8,8,22,0,78,11,14,21,0,31,15,66,0,23,21,0,22,8,7,22,0,79,11,14,21,0,31,15,67,0,23,21,0,20,8,7,22,0,80,11,14,21,0,31,15,68,0,23,0,9,21,0,5,21,0,80,21,0,5,0,9,8,8,8,7,22,0,81,11,14,21,0,31,0,10,7,0,23,21,0,43,0,24,7,8,22,0,82,11,14,21,0,31,0,10,0,9,0,8,19,7,0,23,21,0,43,0,25,7,8,22,0,83,11,14,21,0,31,0,10,0,23,21,0,19,0,9,21,0,18,19,21,0,7,0,24,8,8,7,22,0,84,11,14,21,0,31,21,0,17,0,9,0,25,19,7,0,23,21,0,15,8,22,0,85,11,14,21,0,31,0,15,0,9,0,25,19,7,0,23,21,0,62,8,22,0,86,11,14,21,0,31,0,14,0,9,0,25,19,7,0,23,21,0,23,8,22,0,87,11,14,21,0,31,0,14,7,0,23,0,14,8,22,0,88,11,14,21,0,31,21,0,17,7,0,23,21,0,3,0,24,7,0,7,0,77,19,8,22,0,89,11,14,21,0,31,0,15,7,0,23,21,0,3,0,24,7,0,7,0,78,19,8,22,0,90,11,14,21,0,31,0,8,7,22,0,91,11,14,21,0,31,0,9,7,22,0,92,11,14,21,0,92,21,0,91,0,25,19,22,0,93,11,14,21,0,91,0,24,3,2,21,0,92,0,24,3,2,21,0,84,0,25,3,2,21,0,76,0,25,3,2,21,0,77,0,25,3,2,21,0,93,0,25,3,2,21,0,80,0,33,3,2,21,0,81,0,32,3,2,21,0,83,0,24,3,2,21,0,82,0,25,3,2,21,0,87,0,24,3,2,21,0,88,0,25,3,2,21,0,86,0,24,3,2,21,0,89,0,25,3,2,21,0,3,0,24,7,0,7,0,79,19,3,15,21,0,25,15,69,7,16,22,0,94,11,14,21,0,2,21,0,88,21,0,88,21,0,87,21,0,57,21,0,58,3,4,19,21,0,25,21,0,91,7,9,21,0,9,15,70,8,22,0,95,11,14,15,71,22,0,96,11,14,0,17,0,23,21,0,13,8,22,0,97,11,14,15,72,22,0,98,11,14,15,73,22,0,99,11,14,15,74,22,0,100,11,14,15,75,22,0,101,11,14,15,76,22,0,102,11,14,15,77,22,0,103,11,14,21,0,103,22,0,104,11,14,21,0,59,0,22,21,0,97,21,0,6,21,0,27,8,15,78,3,2,21,0,0,21,0,88,21,0,85,0,25,19,21,0,6,21,0,83,8,8,8,22,0,105,11,14,21,0,29,21,0,7,21,0,36,8,22,0,106,11,14,21,0,1,0,22,21,0,87,21,0,88,0,24,19,21,0,92,0,25,19,21,0,75,15,79,15,80,3,2,21,0,0,21,0,2,21,0,5,21,0,10,8,8,8,8,22,0,107,11,14,21,0,67,0,23,21,0,41,8,22,0,108,11,14,21,0,68,0,23,21,0,42,8,22,0,109,11,14,21,0,73,0,23,21,0,98,8,22,0,110,11,14,0,24,21,0,75,21,0,40,8,0,23,21,0,39,8,22,0,111,11,14,21,0,107,0,23,21,0,36,8,22,0,112,11,14,21,0,59,0,23,21,0,1,8,0,22,21,0,70,0,23,21,0,70,21,0,7,21,0,72,8,8,8,22,0,113,11,14,21,0,59,0,23,21,0,1,8,0,22,21,0,71,0,23,21,0,71,21,0,7,21,0,72,8,8,8,22,0,114,11,14,15,81,22,0,115,11,14,15,82,22,0,116,11,14,15,83,22,0,117,11,14,15,84,22,0,118,11,14,21,0,118,15,85,3,2,21,0,0,21,0,2,21,0,5,21,0,97,21,0,5,0,20,21,0,10,7,8,8,21,0,25,21,0,83,7,9,8,22,0,119,11,14,21,0,119,21,0,7,21,0,97,21,0,1,3,2,21,0,0,21,0,10,8,8,22,0,120,11,14,15,86,22,0,121,11,14,15,87,22,0,122,11,14,15,88,22,0,123,11,14,15,89,22,0,124,11,14,21,0,101,22,0,125,11,14,21,0,102,22,0,126,11,14,21,0,124,21,0,34,7,0,23,0,24,21,0,35,21,0,34,8,8,22,0,127,11,14,21,0,124,21,0,4,21,0,34,7,7,0,23,0,25,21,0,35,21,0,4,21,0,34,7,8,8,22,0,128,11,14,15,90,22,0,129,11,14,0,6,21,0,7,21,0,49,0,25,7,8,22,0,130,11,14,15,91,22,0,131,11,14,21,0,131,21,0,1,21,0,5,0,21,21,0,91,7,8,21,0,4,21,0,92,7,0,25,19,21,0,4,21,0,29,7,21,0,4,21,0,112,21,0,5,21,0,127,21,0,5,21,0,130,8,8,7,19,7,22,0,132,11,14,15,92,22,0,133,11,14,21,0,59,0,23,21,0,1,8,0,22,21,0,14,21,0,5,21,0,86,8,8,22,0,134,11,14,21,0,105,0,23,21,0,65,8,22,0,135,11,14,21,0,117,0,23,21,0,116,8,22,0,136,11,14,21,0,129,0,25,7,0,23,21,0,132,8,22,0,137,11,14,21,0,4,21,0,129,0,24,7,7,0,23,21,0,131,21,0,1,7,8,22,0,138,11,14,15,93,22,0,139,11,14,21,0,1,0,22,15,94,8,22,0,140,11,14,15,95,22,0,141,11,14,15,96,22,0,142,11,14,21,0,141,0,23,21,0,37,8,22,0,143,11,14,21,0,127,21,0,5,21,0,127,8,21,0,29,21,0,92,21,0,1,19,21,0,4,21,0,137,7,19,0,3,0,24,19,22,0,144,11,14,15,97,0,3,0,24,19,22,0,145,11,14,21,0,1,0,22,0,25,21,0,75,21,0,45,8,21,0,7,21,0,16,8,0,23,21,0,44,8,8,22,0,146,11,14,21,0,120,0,23,21,0,46,8,22,0,147,11,14,15,98,22,0,148,11,14,15,99,22,0,149,11,14,15,100,22,0,150,11,14,21,0,85,21,0,137,21,0,5,21,0,147,8,21,0,5,21,0,80,21,0,111,21,0,108,3,4,19,22,0,151,11,14,21,0,135,22,0,152,11,14,21,0,150,22,0,153,11,14,21,0,96,0,23,21,0,13,8,22,0,154,11,14,21,0,52,22,0,155,11,14,21,0,145,0,23,21,0,144,8,22,0,156,11,14,21,0,133,0,23,21,0,112,21,0,7,21,0,138,8,8,22,0,157,11,14,0,7,21,0,7,0,120,8,22,0,158,11,14,0,7,21,0,7,0,121,8,22,0,159,11,14,21,0,3,0,24,7,0,7,0,122,19,22,0,160,11,14,15,101,22,0,161,11,14,15,102,22,0,162,11,14,15,103,22,0,163,11,14,15,104,22,0,164,11,14,21,0,91,21,0,4,21,0,92,7,0,23,21,0,91,8,21,0,92,21,0,92,21,0,84,21,0,4,21,0,76,7,0,23,21,0,1,8,21,0,76,21,0,76,21,0,77,21,0,31,0,4,7,21,0,78,21,0,4,21,0,77,7,0,23,21,0,4,21,0,84,7,8,21,0,82,21,0,4,21,0,76,7,0,23,21,0,82,21,0,161,21,0,1,8,8,21,0,83,21,0,2,21,0,92,0,25,19,21,0,76,21,0,4,21,0,92,7,19,0,23,21,0,83,21,0,161,21,0,1,8,8,21,0,93,21,0,93,21,0,85,0,24,21,0,5,21,0,158,8,0,23,15,105,8,21,0,1,21,0,1,21,0,2,21,0,57,21,0,5,21,0,159,8,21,0,2,21,0,1,19,0,23,21,0,1,8,21,0,135,15,106,0,23,0,24,21,0,5,21,0,158,8,8,21,0,134,15,107,0,23,15,108,8,21,0,108,0,24,21,0,5,21,0,158,8,0,23,21,0,108,21,0,161,21,0,147,21,0,7,0,30,8,8,8,21,0,109,0,24,21,0,5,21,0,158,8,0,23,21,0,109,21,0,161,21,0,147,8,8,21,0,110,0,24,21,0,5,21,0,158,8,0,23,21,0,110,21,0,161,21,0,58,8,8,21,0,111,21,0,111,21,0,7,21,0,92,8,0,23,21,0,111,8,21,0,143,21,0,142,0,23,21,0,38,8,21,0,112,0,24,21,0,5,21,0,158,8,0,23,15,109,8,21,0,136,21,0,163,0,23,21,0,162,8,3,42,21,0,164,21,0,160,8,22,0,165,11,14,15,110,22,0,166,11,14,15,111,22,0,167,11,14,15,112,21,0,6,15,113,8,22,0,168,11,14,15,114,21,0,4,21,0,91,21,0,4,21,0,92,7,0,23,0,26,21,0,8,21,0,76,8,8,21,0,92,21,0,91,0,23,0,24,21,0,5,21,0,158,8,8,21,0,84,21,0,4,21,0,76,7,0,23,21,0,78,8,21,0,76,21,0,84,0,23,0,24,21,0,5,21,0,158,8,8,21,0,77,21,0,78,0,23,0,24,21,0,5,21,0,158,8,8,21,0,78,0,4,21,0,76,9,0,23,0,24,21,0,5,21,0,158,8,8,21,0,82,21,0,4,21,0,76,7,0,23,21,0,78,8,21,0,83,21,0,2,21,0,92,0,25,19,21,0,76,21,0,4,21,0,92,7,19,0,23,21,0,93,21,0,5,21,0,78,8,21,0,93,9,8,21,0,93,21,0,3,0,25,7,21,0,92,21,0,91,19,0,23,0,24,21,0,5,21,0,158,8,8,3,18,21,0,164,21,0,160,8,21,0,49,15,115,21,0,166,15,116,21,0,74,15,117,0,21,15,118,3,10,21,0,164,21,0,3,21,0,160,7,8,7,22,0,169,11,14,0,25,0,1,21,0,146,0,24,0,30,3,2,19,21,0,57,0,34,21,0,3,3,2,19,3,2,21,0,148,0,0,21,0,90,0,28,19,8,22,0,170,11,14,15,119,21,0,167,15,120,21,0,5,21,0,168,21,0,6,15,121,21,0,155,15,122,21,0,153,21,0,3,0,24,21,0,5,21,0,158,8,7,15,123,15,124,3,2,21,0,148,21,0,90,21,0,7,0,24,8,8,3,2,21,0,148,21,0,1,21,0,5,21,0,11,8,8,0,23,15,125,21,0,7,15,126,15,127,21,0,1,3,2,21,0,148,21,0,2,8,21,0,2,21,0,5,21,0,170,8,19,21,0,8,15,128,3,16,21,0,164,21,0,3,21,0,160,7,8,7,22,0,171,11,14,15,129,22,0,172,11,14,0,1,21,0,109,21,0,7,0,25,8,21,0,1,21,0,147,21,0,5,21,0,165,8,9,21,0,3,21,0,3,0,24,7,0,7,0,123,19,7,21,0,1,21,0,25,21,0,168,7,9,21,0,172,21,0,169,21,0,171,3,6,21,0,148,21,0,2,8,21,0,147,19,9,22,0,173,11,14,15,130,21,0,173,21,0,3,0,24,7,0,7,0,124,19,3,3,21,0,112,0,28,0,25,0,26,3,3,17,21,0,148,0,0,8,22,0,174,11,14,15,131,22,0,175,11,14,21,0,1,21,0,2,21,0,4,21,0,5,21,0,6,21,0,7,21,0,8,0,23,21,0,148,3,9,21,0,88,21,0,87,21,0,58,3,3,21,0,85,21,0,134,21,0,110,21,0,112,21,0,113,21,0,114,21,0,136,3,5,21,0,154,21,0,108,21,0,109,21,0,111,21,0,143,21,0,146,21,0,147,3,7,3,6,21,0,49,21,0,154,7,16,15,132,16,22,0,176,11,14,21,0,91,21,0,92,21,0,84,21,0,76,21,0,77,21,0,78,21,0,80,21,0,81,21,0,79,21,0,93,21,0,82,21,0,83,21,0,85,21,0,86,21,0,87,21,0,88,21,0,90,21,0,89,21,0,57,21,0,58,21,0,2,21,0,1,21,0,154,21,0,135,21,0,134,21,0,108,21,0,109,21,0,110,21,0,114,21,0,113,21,0,111,21,0,143,21,0,112,21,0,127,21,0,128,21,0,146,21,0,147,21,0,137,21,0,156,21,0,138,21,0,157,21,0,136,0,7,21,0,3,21,0,4,21,0,74,21,0,49,21,0,166,21,0,175,21,0,25,21,0,104,0,21,21,0,5,21,0,6,21,0,7,21,0,8,21,0,155,0,23,21,0,148,21,0,126,21,0,125,21,0,153,3,62,25,21,0,1,15,133,21,0,5,0,18,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,134,21,1,1,21,0,4,3,2,0,18,21,0,1,21,0,5,21,0,2,17,17,7,21,0,2,17,25,21,0,1,3,1,0,3,21,0,1,17,25,21,0,2,21,0,1,3,2,25,21,0,1,3,1,25,21,0,1,3,1,0,17,3,0,17,0,3,21,0,1,17,25,21,0,2,21,0,1,3,2,25,21,0,2,21,0,1,3,2,25,21,0,1,0,14,16,0,14,0,25,17,0,7,0,36,17,14,21,0,1,22,0,5,11,21,1,23,16,22,0,6,11,14,21,0,4,22,0,7,11,14,21,0,1,21,1,2,0,23,15,135,15,136,3,2,21,1,0,21,0,6,21,1,18,0,24,17,8,8,21,0,2,17,22,0,8,11,14,21,0,6,0,19,16,0,20,0,9,21,1,7,0,25,0,9,21,0,6,17,8,7,16,0,20,15,137,7,16,14,21,0,8,25,21,0,2,0,9,21,0,1,21,1,23,16,17,0,19,16,0,20,21,1,3,21,0,1,7,0,18,0,8,21,1,7,21,0,2,8,19,7,16,25,21,0,2,21,1,23,16,22,0,3,11,14,21,0,1,21,1,23,16,0,8,21,0,3,17,0,19,16,0,20,21,0,2,21,1,8,0,18,8,21,1,4,21,0,1,7,0,18,21,0,3,21,1,8,0,9,8,19,3,2,21,1,0,0,15,21,1,7,21,0,3,8,8,7,16,25,21,0,1,21,1,26,0,25,17,22,0,3,11,21,1,25,0,10,7,0,25,17,22,0,4,11,14,21,0,4,0,19,16,0,17,21,0,3,17,0,20,0,8,21,1,7,0,10,21,1,7,21,0,4,8,8,21,1,4,0,18,7,21,0,1,0,17,16,19,7,21,0,2,17,25,21,0,2,0,20,21,0,1,21,1,8,0,18,8,7,16,25,15,138,22,0,2,11,14,15,139,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,14,21,1,6,21,1,19,8,8,21,0,2,21,0,1,7,3,2,21,1,0,0,14,21,1,6,0,14,8,8,25,15,140,21,0,1,7,22,0,2,11,14,21,0,1,21,0,2,0,22,15,141,15,142,3,2,21,1,0,21,1,10,21,1,6,21,1,19,8,8,0,23,0,20,21,0,2,7,8,8,21,0,2,0,22,21,1,30,21,0,2,7,8,3,3,21,1,0,21,1,10,21,1,6,0,8,8,8,25,21,0,1,21,1,33,21,0,2,17,25,21,0,1,0,16,21,1,6,21,1,121,8,21,0,2,17,22,0,3,11,14,21,0,3,21,1,25,21,1,122,21,0,1,0,17,16,21,1,8,0,18,8,21,1,8,21,1,34,21,1,7,21,0,2,0,17,16,21,1,8,0,18,8,8,8,7,7,16,22,0,4,11,14,0,24,21,1,4,21,0,4,7,16,25,21,0,1,0,14,16,0,15,0,25,17,0,7,0,39,17,14,21,0,1,21,1,23,16,22,0,6,11,14,21,0,1,21,1,26,0,25,17,21,1,25,0,10,7,0,25,17,22,0,7,11,14,21,0,1,0,17,16,22,0,8,11,14,0,24,22,0,9,11,22,0,10,11,14,21,0,8,0,24,0,20,21,1,11,7,21,1,25,0,10,7,0,25,19,3,2,21,1,0,21,0,6,21,1,18,0,27,17,0,10,0,25,0,14,21,0,7,17,17,8,16,21,1,1,21,1,9,21,0,1,21,1,8,15,143,8,8,16,0,9,0,25,17,22,0,11,11,14,21,0,1,0,20,21,0,10,21,1,8,0,9,8,0,9,21,1,7,21,0,9,8,3,2,0,18,21,0,5,17,7,0,6,21,1,7,0,5,8,9,15,144,21,0,4,7,3,2,21,1,0,21,0,11,8,16,0,3,0,24,17,25,21,0,1,0,14,16,0,14,0,25,17,0,7,0,40,17,14,21,0,1,21,1,23,16,22,0,3,11,14,21,0,1,21,0,3,21,1,18,0,24,17,21,1,9,15,145,8,16,0,3,0,24,17,25,21,0,1,21,1,23,16,22,0,3,11,14,21,0,1,21,1,26,0,25,17,22,0,4,11,21,1,25,0,10,7,0,25,17,22,0,5,11,14,21,0,3,0,19,16,0,20,21,1,3,21,0,1,0,17,16,7,0,18,0,10,21,1,7,21,0,5,8,21,1,8,0,8,8,19,7,21,0,5,0,19,16,0,17,21,0,4,17,17,25,21,0,1,0,14,16,21,1,4,0,9,7,0,25,17,22,0,3,11,14,21,0,1,0,16,16,22,0,4,11,14,21,0,4,0,18,21,0,3,17,22,0,5,11,14,21,0,3,0,19,16,0,20,21,0,4,21,1,8,0,18,8,7,16,22,0,6,11,14,21,0,6,21,1,25,0,10,7,0,25,17,0,19,16,0,17,21,0,6,17,0,20,21,1,3,21,0,1,0,17,16,7,0,18,0,10,21,1,7,21,0,5,8,21,1,8,0,8,8,19,7,21,0,5,0,19,16,17,25,21,0,1,0,14,16,0,15,0,25,17,0,7,0,42,17,14,21,0,1,21,1,23,16,22,0,3,11,14,21,0,1,21,1,29,21,0,3,0,19,16,0,20,0,9,21,1,7,0,25,0,9,21,0,3,17,8,7,16,17,25,21,0,2,21,1,11,16,0,7,0,43,17,14,21,0,1,21,1,23,16,22,0,3,11,14,21,0,3,0,11,21,0,2,17,21,1,20,16,0,10,21,0,3,17,0,9,22,0,2,13,14,21,0,1,21,1,29,21,0,3,0,19,16,0,20,21,1,1,0,15,21,0,2,0,9,21,0,3,17,19,0,10,21,0,3,19,0,9,21,1,1,19,0,8,21,0,2,19,7,16,17,25,21,0,1,0,14,16,0,15,0,25,17,0,7,0,44,17,14,21,0,1,21,1,23,16,0,8,0,25,17,0,19,16,0,20,21,0,1,21,1,8,21,1,29,21,1,7,0,19,8,8,7,16,0,3,21,1,7,0,18,21,1,7,0,24,8,8,16,25,21,0,1,0,14,16,0,15,0,25,17,0,7,0,45,17,14,21,0,1,21,1,23,16,22,0,3,11,14,21,0,3,0,8,0,25,17,0,19,16,0,20,21,0,1,21,1,8,21,1,29,21,1,7,15,146,8,8,7,16,0,3,21,1,7,0,18,21,1,7,21,0,3,8,8,16,25,21,1,29,21,1,7,21,0,1,21,1,35,21,1,34,21,1,4,21,1,34,7,3,2,0,18,21,0,1,17,8,8,25,21,0,1,0,14,16,0,15,0,25,17,0,7,0,46,17,14,21,0,1,21,1,23,16,21,1,18,0,24,17,0,7,0,47,17,14,21,0,1,21,1,28,0,24,21,1,18,16,17,25,21,0,2,21,1,10,16,0,7,0,48,17,14,21,0,2,0,20,21,1,11,7,16,0,17,16,21,1,25,0,10,7,0,25,17,0,7,0,49,17,14,21,0,1,21,1,23,16,22,0,3,11,14,21,0,2,0,20,21,1,19,21,1,7,21,0,3,8,0,10,0,15,21,1,7,21,0,3,0,9,16,8,19,7,16,0,17,16,21,1,25,0,10,7,0,25,17,0,7,0,50,17,14,21,0,1,21,1,29,21,1,7,0,20,21,1,1,21,1,19,0,24,19,0,10,21,0,3,19,0,8,21,1,1,19,7,8,21,0,2,17,25,21,0,1,0,1,16,22,0,3,11,14,21,0,3,0,18,0,24,17,0,24,21,1,8,0,15,8,21,0,3,21,1,5,21,1,23,8,21,1,4,0,9,7,0,25,19,0,19,9,21,1,25,0,10,21,1,7,0,8,21,1,7,0,25,8,21,1,4,0,18,7,21,0,3,19,21,0,0,9,8,7,0,25,19,3,2,21,1,0,0,15,21,1,7,0,26,8,8,16,25,21,0,1,15,147,21,1,2,21,1,47,9,21,1,9,15,148,8,3,2,21,1,0,21,1,2,21,1,5,0,0,8,0,15,0,28,19,8,21,0,2,17,25,21,0,1,21,1,16,21,1,6,21,0,4,21,1,48,21,1,30,21,0,4,7,0,23,0,20,21,0,4,7,8,8,8,21,0,2,17,25,21,0,1,25,21,0,1,21,0,5,21,1,6,21,0,4,8,21,0,2,17,22,0,6,11,14,21,0,1,21,1,54,21,0,5,7,16,22,0,7,22,0,8,4,2,11,14,21,1,1,21,1,5,21,1,51,8,0,9,0,25,19,21,1,9,15,149,8,22,0,9,11,14,21,1,1,0,22,15,150,8,22,0,10,11,14,21,0,8,21,0,9,21,0,6,17,21,1,3,21,0,1,7,21,1,8,21,0,10,8,21,1,3,21,0,5,7,21,1,174,9,15,151,9,3,2,21,1,0,21,1,51,8,16,25,21,0,1,21,0,2,9,25,21,0,1,22,0,3,22,0,4,22,0,5,4,3,11,14,21,0,5,21,0,4,21,0,3,19,25,21,0,1,22,0,3,22,0,4,4,2,11,14,21,0,4,21,0,3,7,25,21,0,1,22,0,3,22,0,4,22,0,5,4,3,11,14,21,0,5,21,0,4,21,0,3,8,25,21,1,3,21,1,50,7,22,0,5,11,14,21,1,39,21,1,25,21,1,1,21,1,10,9,21,1,9,0,17,21,1,8,0,18,8,8,7,21,0,1,19,0,24,0,16,21,1,1,21,1,25,0,10,7,0,25,19,0,19,9,21,1,8,0,17,8,9,3,2,21,1,0,21,1,10,8,9,22,0,6,11,14,15,152,22,0,7,11,14,0,1,0,24,0,18,21,1,7,0,26,8,0,14,21,1,3,21,0,7,7,19,3,2,21,1,0,0,18,21,1,7,0,24,8,0,14,0,31,19,8,9,22,0,8,11,14,15,153,22,0,9,11,14,21,0,9,0,25,7,22,0,10,11,14,21,0,9,0,24,7,22,0,11,11,14,15,154,22,0,12,11,14,15,155,22,0,13,11,14,15,156,22,0,14,11,14,0,0,21,1,17,0,28,19,21,1,9,21,0,14,21,1,51,7,8,22,0,15,11,14,21,0,14,21,0,8,7,22,0,16,11,14,21,1,3,21,1,1,21,0,11,21,1,7,0,25,8,21,0,12,9,21,0,10,21,1,7,0,24,8,21,0,12,9,21,0,10,21,1,7,0,25,8,21,0,12,9,21,0,10,21,1,7,0,25,8,21,0,13,9,21,0,10,21,1,7,0,25,8,21,0,16,15,157,15,158,3,3,21,1,0,21,1,3,0,28,7,0,9,0,0,19,8,3,7,7,0,18,21,1,176,19,15,159,21,1,1,19,22,0,17,11,14,0,1,21,1,68,21,1,7,0,25,8,21,1,1,0,18,0,24,19,21,0,17,9,21,0,15,9,21,1,3,21,0,5,7,15,160,21,1,8,21,1,53,8,21,1,1,0,18,0,24,19,21,0,15,9,3,4,21,1,0,21,1,2,21,1,5,0,28,21,1,1,0,26,3,2,21,1,0,0,15,21,1,7,0,26,8,8,3,2,21,1,0,0,15,21,1,7,0,24,8,8,8,8,0,18,21,1,7,0,24,8,19,9,22,0,18,11,14,21,0,4,21,0,18,16,0,24,21,0,7,0,30,8,3,2,21,1,25,15,161,7,16,0,24,21,1,50,3,2,0,1,21,1,29,0,25,0,28,3,2,19,3,2,21,1,0,21,0,8,8,16,25,21,0,1,21,1,49,21,1,55,7,21,0,2,17,0,17,16,21,1,25,0,10,7,0,25,17,25,21,0,2,0,18,0,25,17,21,0,1,3,2,21,1,0,21,0,2,0,18,0,24,17,8,25,21,0,1,0,17,16,0,20,21,1,56,7,16,21,1,25,0,9,0,10,0,15,19,0,9,21,1,2,19,7,0,24,17,0,8,0,25,17,25,0,3,21,1,8,21,1,1,0,22,21,1,3,3,0,7,0,17,21,1,58,21,1,6,21,0,2,8,19,8,8,21,1,60,21,1,1,0,22,21,1,2,8,21,0,1,19,3,2,21,1,0,0,17,21,1,5,21,1,23,8,21,1,18,0,24,19,8,25,21,0,1,0,17,16,0,18,0,24,17,21,1,58,16,22,0,3,11,14,21,0,1,0,17,16,0,20,21,1,58,21,1,57,21,0,3,19,7,16,21,1,25,0,10,7,0,25,17,0,7,0,52,17,14,21,0,3,21,1,25,0,10,7,0,25,17,0,19,16,0,17,21,0,3,17,0,20,21,1,4,21,1,13,21,1,8,0,18,8,7,7,21,0,1,17,25,0,30,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,20,21,1,23,7,16,21,1,36,16,0,20,15,162,7,16,25,21,0,1,0,17,16,22,0,3,11,21,1,23,16,22,0,4,11,14,21,0,3,0,20,21,1,58,7,16,22,0,5,11,14,21,0,5,0,18,0,24,17,21,1,23,16,22,0,6,11,14,21,0,1,0,14,16,22,0,7,11,14,21,0,5,0,20,21,1,23,0,14,21,0,6,19,7,16,21,1,25,0,10,7,0,25,17,0,7,0,53,17,14,21,0,7,21,1,17,21,0,6,17,0,7,0,54,17,14,15,163,22,0,8,11,14,21,0,1,21,1,58,16,22,0,9,11,14,0,25,22,0,10,11,14,0,24,21,1,18,16,22,0,11,11,22,0,12,11,14,21,0,7,0,19,16,21,1,49,15,164,7,21,0,9,21,1,39,16,21,0,8,0,10,7,0,25,17,21,1,39,16,17,14,21,1,49,15,165,21,0,3,0,20,0,17,7,16,7,7,22,0,13,11,14,21,0,11,21,0,13,15,166,3,2,21,1,0,21,0,6,21,1,18,21,0,7,17,8,21,0,12,17,25,21,0,2,21,1,23,16,22,0,3,11,14,21,0,1,21,1,23,16,22,0,4,11,14,21,0,3,21,1,17,21,0,4,17,0,7,0,57,17,14,21,0,4,0,19,16,0,20,21,0,1,21,1,8,0,18,8,21,1,8,0,10,21,1,7,21,0,2,21,1,8,0,18,8,8,21,1,1,3,2,21,1,0,21,1,2,0,15,21,0,3,19,8,8,7,16,25,21,0,1,22,0,2,22,0,3,22,0,4,4,3,11,14,0,60,21,1,27,21,0,2,17,21,1,27,0,59,17,22,0,5,11,14,0,61,22,0,6,11,14,0,62,22,0,7,11,14,15,167,25,21,0,1,21,1,22,16,22,0,5,11,21,1,18,21,1,7,21,0,2,8,21,1,9,21,0,4,8,16,14,21,0,5,0,19,16,0,20,21,0,1,0,8,21,0,2,17,21,1,8,0,8,8,7,0,20,0,24,21,1,8,21,1,18,8,21,1,9,0,32,8,7,9,0,20,0,15,21,1,7,21,0,2,8,21,1,9,0,32,8,7,3,2,21,1,0,21,0,1,21,1,18,0,24,17,8,16,25,21,0,1,14,0,8,21,1,21,0,24,19,0,19,9,0,9,21,1,21,0,24,19,0,19,9,0,20,0,8,7,21,1,1,21,1,5,21,1,18,8,19,3,2,21,1,0,21,1,18,21,1,7,0,24,8,8,25,21,0,1,0,14,16,0,15,0,25,17,0,7,0,65,17,14,21,0,2,0,14,21,1,6,0,9,8,21,0,1,17,22,0,3,11,14,21,0,3,0,15,0,24,17,0,7,0,66,17,14,21,0,3,21,1,17,0,25,17,0,7,0,67,17,14,21,0,1,21,1,26,0,25,17,22,0,4,11,14,21,0,4,21,1,23,16,0,19,16,0,20,21,1,3,21,0,2,21,1,58,16,7,0,18,21,0,3,0,9,0,25,17,21,1,8,0,8,8,19,0,14,21,0,4,21,1,8,0,18,8,19,7,16,21,1,25,0,10,7,0,25,17,0,7,0,68,17,14,21,0,4,21,1,25,0,10,7,0,25,17,25,21,0,1,21,1,69,21,0,2,17,22,0,3,11,14,21,0,2,0,25,21,1,23,3,2,21,1,0,21,1,1,0,14,21,1,6,0,15,8,21,0,1,19,8,16,0,10,21,0,3,17,22,0,4,11,14,21,0,1,21,1,23,16,0,10,21,0,3,17,0,19,16,0,20,21,0,2,21,1,13,16,21,1,8,0,18,8,21,1,3,21,0,1,0,17,16,7,0,18,21,0,4,21,1,8,0,9,8,19,3,2,21,1,0,0,15,21,1,7,21,0,4,8,8,7,16,0,17,21,0,1,21,1,58,16,17,25,21,0,1,21,1,69,21,0,2,17,22,0,3,11,14,21,0,1,21,1,23,16,0,10,21,0,3,17,22,0,4,11,14,21,0,2,0,25,21,1,23,3,2,21,1,0,21,1,1,0,14,21,1,6,0,15,8,21,0,1,19,8,16,0,10,21,0,3,17,22,0,5,11,14,21,0,5,0,9,21,0,4,17,22,0,6,11,14,21,0,4,0,19,16,0,20,21,1,3,21,0,1,0,17,16,7,0,18,21,0,5,21,1,8,0,8,8,19,21,1,3,21,0,2,21,1,13,16,7,0,18,21,0,6,21,1,8,0,9,8,19,3,2,21,1,0,0,15,21,1,7,21,0,6,8,8,7,16,0,17,21,0,1,21,1,58,16,17,25,21,0,1,0,14,16,0,15,0,25,17,0,7,0,65,17,14,21,0,1,21,1,26,0,25,17,21,1,1,21,1,25,0,10,7,0,25,19,0,19,9,21,1,8,0,17,8,16,0,20,21,0,1,0,3,16,7,16,25,21,0,1,21,1,10,16,0,7,0,69,17,14,21,0,2,0,14,16,21,1,17,0,25,17,0,7,0,70,17,14,21,0,2,21,1,13,16,22,0,2,12,21,1,23,16,22,0,3,11,14,21,0,1,21,0,3,21,1,18,0,24,17,21,1,9,21,1,1,0,22,15,168,8,8,21,0,2,17,25,21,0,1,0,30,21,1,102,21,0,4,8,21,0,2,17,25,21,0,1,22,0,3,11,14,15,169,15,170,3,2,21,1,0,21,1,2,21,1,5,21,1,57,21,1,18,21,0,2,19,8,8,25,21,0,2,21,1,76,21,0,1,17,21,1,20,16,0,10,21,0,2,17,0,9,21,0,1,17,25,21,0,2,21,0,1,3,2,0,18,21,0,1,21,1,19,21,0,2,17,17,25,21,0,2,21,0,1,3,2,0,18,21,0,1,21,1,18,21,0,2,17,17,25,21,0,1,21,0,2,0,18,0,25,17,3,2,21,1,0,21,1,88,21,1,7,21,1,3,21,0,2,0,18,0,24,17,7,8,8,25,21,0,1,0,23,21,0,1,0,3,0,24,21,0,2,16,19,8,25,21,0,2,21,1,88,16,21,1,89,0,25,17,0,7,0,80,17,14,21,0,2,21,1,13,16,22,0,3,11,14,21,0,3,0,20,21,1,12,7,16,21,1,93,16,22,0,4,11,21,1,25,21,1,91,7,16,22,0,5,11,14,21,0,5,21,1,89,0,25,17,0,7,0,81,17,14,21,0,1,21,1,13,16,22,0,6,11,21,1,87,16,22,0,7,11,14,21,0,3,21,1,25,21,1,84,7,15,171,3,2,21,1,0,21,0,5,8,16,22,0,8,11,14,21,0,6,21,0,7,21,1,87,21,0,8,17,21,1,9,21,1,1,0,22,15,172,8,8,16,0,17,21,0,3,17,25,15,173,22,0,3,11,14,15,174,22,0,4,11,14,21,0,1,21,0,3,21,0,4,3,2,21,1,0,21,1,10,8,16,25,21,0,1,21,1,88,16,21,1,89,0,25,17,0,7,0,87,17,14,21,0,1,21,1,97,16,22,0,1,12,14,21,0,1,21,1,87,16,0,28,21,1,8,21,1,90,8,21,1,82,21,1,90,21,1,7,0,25,8,19,16,0,7,0,88,17,14,21,0,1,0,20,21,1,11,7,16,21,1,25,21,1,82,7,16,0,7,0,89,17,14,21,0,1,25,21,0,1,21,1,5,21,1,99,8,21,1,1,21,1,5,21,1,85,8,21,1,49,0,18,7,21,1,87,21,1,8,21,1,4,21,1,79,21,1,91,0,25,19,21,1,92,21,1,2,19,7,8,19,0,25,0,24,3,2,0,23,0,26,3,1,8,19,25,21,0,1,21,1,100,21,0,5,7,21,0,2,17,22,0,6,11,21,1,86,0,24,17,22,0,7,11,14,21,0,4,22,0,8,11,14,15,175,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,100,21,0,5,7,21,1,49,21,1,92,21,1,8,21,1,80,8,21,1,92,21,1,81,0,24,19,3,2,21,1,0,21,1,1,21,1,90,0,24,19,8,7,21,1,88,21,1,6,21,1,14,8,19,21,0,2,17,22,0,6,11,14,15,176,22,0,7,11,14,21,1,1,21,1,85,9,21,0,7,21,1,1,0,20,21,1,85,7,9,3,3,21,1,0,21,1,88,21,1,8,21,1,89,8,21,1,91,0,25,19,21,1,84,0,24,21,1,8,21,1,86,8,19,8,22,0,7,12,14,21,0,1,21,0,7,21,0,6,0,18,21,1,7,21,1,87,21,1,4,21,1,92,7,0,25,19,8,16,17,21,1,49,21,0,4,7,21,0,2,21,0,7,21,0,6,0,18,0,24,17,17,17,21,1,86,16,25,21,0,1,21,1,88,16,21,1,90,0,25,17,0,7,0,90,17,14,21,0,4,22,0,5,11,14,15,177,22,0,6,11,14,21,0,1,21,0,6,15,178,3,2,21,1,0,0,25,0,23,21,1,87,21,1,85,0,24,19,8,8,21,0,2,17,25,21,0,1,21,1,58,21,1,6,21,1,14,8,21,0,2,17,22,0,3,11,14,21,0,3,0,20,21,1,87,7,16,22,0,4,11,21,1,25,21,1,81,7,0,25,17,22,0,5,11,14,21,0,4,21,1,92,21,0,5,17,21,1,89,0,25,17,21,1,25,21,1,82,7,16,0,7,0,92,17,14,21,0,3,21,1,49,21,1,29,21,1,7,0,25,21,1,92,21,0,5,17,0,19,16,21,1,8,21,1,91,8,8,7,21,0,5,21,1,93,21,0,4,17,17,22,0,6,11,14,21,0,6,21,1,25,21,1,57,7,16,0,7,0,93,17,14,21,0,3,21,1,49,0,25,21,1,1,0,18,0,24,19,3,2,21,1,0,21,1,2,8,7,21,0,4,21,1,88,21,0,5,17,17,21,1,25,21,1,91,7,16,22,0,7,11,14,21,0,1,21,1,97,21,1,6,21,1,27,8,21,0,2,17,21,1,97,21,0,6,0,18,0,24,17,21,1,27,21,0,7,3,1,17,17,25,21,0,2,21,1,12,16,0,7,0,41,17,14,21,0,2,22,0,3,11,22,0,4,11,14,21,0,1,21,1,29,21,0,1,21,1,87,16,21,1,84,21,0,3,17,0,19,16,0,21,21,1,4,15,179,21,1,9,15,180,8,7,7,16,17,25,21,0,1,21,1,87,21,1,6,21,1,88,8,21,0,2,17,0,7,0,94,17,14,21,0,1,21,1,106,21,0,2,17,25,21,0,1,0,20,21,1,11,7,16,21,1,25,21,1,82,7,16,0,7,0,95,17,14,21,0,1,21,1,90,0,30,17,21,1,25,21,1,82,7,16,0,7,0,96,17,14,21,0,1,0,6,21,0,1,0,5,16,22,0,5,11,17,22,0,6,11,14,0,24,22,0,7,11,14,21,0,5,0,20,21,1,110,21,1,5,0,20,15,181,7,8,21,0,4,9,7,16,25,21,0,1,21,1,88,16,21,1,88,0,25,17,0,7,0,97,17,14,21,1,115,21,1,1,7,22,0,3,11,14,21,0,1,21,0,3,0,3,0,24,21,1,5,21,1,110,8,19,0,20,15,182,7,21,1,25,0,20,0,20,21,1,27,7,7,7,3,0,21,1,85,16,21,1,85,16,19,0,3,0,20,0,24,7,3,0,21,1,8,21,1,97,8,0,3,21,1,1,19,9,19,3,2,21,1,0,21,1,57,21,1,85,0,25,19,8,16,25,21,0,1,21,1,10,16,0,7,0,98,17,14,21,0,2,21,1,57,21,1,86,0,26,19,21,1,9,21,1,16,21,1,5,21,1,14,8,8,16,22,0,2,12,14,21,0,2,21,1,88,16,21,1,88,0,25,17,0,7,0,99,17,14,21,0,2,0,20,21,1,88,7,16,21,1,25,21,1,91,7,16,22,0,3,11,14,21,0,1,21,1,88,16,21,1,90,21,0,3,17,0,7,0,100,17,14,21,0,1,21,1,58,16,21,1,108,21,0,3,17,21,1,88,21,0,2,0,20,21,1,58,7,16,21,1,65,16,17,21,1,25,21,1,82,7,16,0,7,0,101,17,14,21,0,2,0,20,21,1,97,7,16,22,0,2,12,0,20,21,1,87,7,16,22,0,4,11,14,21,1,3,21,0,1,7,21,1,96,21,0,1,21,1,26,21,0,3,17,21,1,8,21,1,27,8,19,22,0,5,11,14,21,0,4,21,1,25,21,1,84,7,16,3,1,21,0,5,16,21,1,8,21,1,29,8,22,0,6,11,14,21,0,2,0,18,21,1,7,0,24,8,21,1,115,21,0,6,7,9,0,20,21,1,115,21,1,1,7,7,21,1,84,21,0,4,21,1,111,16,21,1,113,0,25,17,0,21,21,1,84,7,16,21,1,111,16,19,21,1,25,0,20,0,20,21,1,91,7,7,7,9,0,20,21,0,6,7,9,3,2,21,1,0,21,1,87,21,1,87,0,25,19,8,16,0,3,21,0,2,0,20,0,24,7,16,21,0,5,16,17,25,21,0,2,21,1,88,16,21,1,88,0,25,17,0,7,0,102,17,14,21,0,1,21,1,58,16,22,0,3,11,21,1,87,21,1,6,21,1,88,8,21,0,2,17,0,7,0,103,17,14,21,0,2,0,20,21,1,11,7,16,21,1,25,21,1,82,7,16,0,7,0,104,17,14,21,0,3,21,1,85,21,1,82,21,1,92,21,1,8,21,1,89,8,19,21,0,2,17,21,1,25,21,1,82,7,16,0,7,0,105,17,14,0,24,21,1,85,21,0,2,17,21,1,84,21,0,3,17,21,1,91,21,0,2,17,22,0,2,12,14,21,0,2,21,1,87,16,21,1,93,21,1,7,21,1,110,8,16,21,1,92,16,21,1,25,21,1,1,21,1,84,21,0,3,21,1,8,0,18,8,19,21,1,91,21,0,2,21,1,8,0,18,8,19,7,0,24,17,21,1,4,0,18,7,21,0,1,21,1,97,16,17,25,21,0,2,0,20,21,0,1,21,1,8,21,1,119,8,7,16,25,21,0,1,21,1,88,21,1,7,0,24,8,21,1,25,21,1,83,7,9,21,1,6,21,1,4,21,1,92,7,8,21,0,2,17,22,0,3,11,14,21,0,1,0,24,21,0,3,3,2,15,183,3,2,21,1,0,0,24,21,1,88,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,184,22,0,8,11,14,21,0,4,21,1,88,21,1,7,0,24,8,21,1,9,21,0,1,8,9,21,0,8,3,2,0,18,21,0,6,21,1,87,0,25,17,17,25,21,0,1,22,0,2,11,14,21,1,85,21,1,7,0,24,8,21,1,9,15,185,8,25,21,0,2,21,1,88,16,21,1,4,21,1,92,7,0,25,17,22,0,5,11,14,21,0,5,21,1,90,0,24,17,0,7,0,106,17,14,21,0,1,21,1,88,16,21,1,90,21,0,5,17,0,7,0,107,17,14,21,0,2,21,1,26,0,25,17,22,0,6,11,21,1,25,21,1,84,7,16,22,0,7,11,14,0,24,21,1,122,21,0,2,21,1,97,16,21,1,8,0,18,8,21,1,6,21,0,4,8,7,21,0,7,17,22,0,8,11,14,21,0,2,21,1,87,16,0,25,0,25,21,1,8,21,1,92,21,1,5,21,1,110,8,8,21,1,84,21,0,7,19,0,20,21,1,91,21,1,7,21,0,7,8,21,1,8,21,0,8,8,7,9,21,1,4,21,1,90,7,0,24,19,21,1,25,21,1,82,7,9,3,2,21,1,0,21,1,85,21,1,7,0,24,8,8,16,0,7,0,108,17,14,21,0,1,21,1,88,16,21,1,4,21,1,92,7,21,0,5,17,22,0,9,11,14,21,0,1,21,1,16,16,21,1,26,21,0,9,17,22,0,10,11,14,21,0,10,21,1,121,21,0,6,17,22,0,11,11,14,21,0,11,21,1,25,21,1,122,21,0,1,21,1,97,16,21,1,8,0,18,8,21,1,8,21,0,4,21,1,7,21,0,2,21,1,97,16,21,1,8,0,18,8,8,8,7,7,16,22,0,12,11,14,21,1,4,0,24,7,21,1,90,21,0,12,21,1,7,21,1,84,21,1,7,21,0,6,21,1,25,21,1,84,7,16,8,8,19,22,0,13,11,14,21,0,9,21,1,110,16,0,20,21,0,1,21,1,58,16,21,1,8,0,18,8,7,16,21,1,25,21,1,84,7,21,1,110,9,21,1,8,21,1,97,8,16,21,1,84,21,0,10,21,1,25,21,1,84,7,16,17,0,20,15,186,21,1,7,21,0,2,21,1,87,16,8,7,16,0,3,0,24,17,25,21,0,1,22,0,2,11,14,21,1,104,21,1,82,7,21,1,93,9,0,21,21,1,82,7,21,1,104,21,1,91,7,9,3,2,0,18,21,0,1,17,22,0,3,11,14,15,187,0,3,0,24,19,25,21,0,1,21,1,88,16,21,1,90,0,25,17,0,7,0,111,17,14,21,0,1,21,1,127,16,22,0,5,11,14,21,0,1,21,1,87,16,21,1,110,16,0,20,0,25,21,1,1,21,0,1,21,1,88,21,1,85,0,25,19,21,1,9,21,1,74,21,1,85,7,8,16,21,1,29,21,0,5,17,21,1,8,0,18,8,21,1,6,21,1,58,8,0,25,21,1,8,21,1,92,8,19,3,2,21,1,0,21,1,85,21,1,7,0,24,8,8,7,16,21,0,4,21,0,5,17,21,1,29,21,0,5,21,1,130,16,17,0,3,0,24,17,25,21,0,2,21,1,88,16,22,0,3,11,14,21,0,1,21,1,88,16,21,1,90,21,0,3,17,0,7,0,112,17,14,21,0,1,21,0,3,21,1,126,21,1,110,8,21,0,2,21,1,58,16,17,21,0,3,21,1,126,21,1,57,8,21,0,2,17,0,3,0,24,17,25,21,0,2,21,1,88,16,21,1,89,0,25,17,0,7,0,113,17,14,21,0,1,21,1,58,16,21,1,87,21,1,6,21,1,90,8,21,0,2,17,0,7,0,114,17,14,21,0,2,21,1,97,16,0,20,21,1,12,7,16,21,1,25,21,1,82,7,16,0,7,0,115,17,25,21,0,1,21,1,58,16,21,1,136,21,0,2,17,0,20,21,1,25,21,1,80,7,7,16,21,1,110,16,0,20,21,1,3,21,0,1,7,21,1,120,21,1,29,21,1,7,21,0,2,8,19,7,16,25,21,0,1,21,1,139,21,0,2,17,14,21,0,2,21,1,97,16,22,0,2,12,14,21,0,2,21,1,138,16,21,1,93,16,21,1,25,21,1,91,7,16,21,1,92,21,0,1,21,1,88,16,17,22,0,3,11,14,21,0,3,21,1,85,21,0,2,17,21,1,25,21,1,82,7,16,0,7,0,116,17,14,21,0,1,21,1,140,21,0,3,21,1,110,16,21,1,1,21,1,112,21,1,4,21,1,138,21,1,5,21,1,93,8,7,19,21,0,2,17,21,1,135,21,0,2,17,17,25,21,0,1,21,1,139,21,0,2,17,14,21,0,2,21,1,97,16,22,0,2,12,14,21,0,1,21,1,88,16,22,0,3,11,14,21,0,2,21,0,3,21,1,8,21,1,85,8,21,1,82,21,1,138,19,16,21,1,25,21,1,82,7,16,21,1,158,16,14,21,0,1,21,1,140,21,0,3,21,1,110,16,21,1,1,21,1,112,21,1,4,21,1,138,21,1,5,21,1,93,8,7,19,21,0,2,17,21,1,135,21,0,2,17,21,1,130,16,17,25,21,0,2,21,1,88,16,21,1,4,21,1,92,7,0,25,17,22,0,3,11,14,21,0,3,21,1,90,0,24,17,0,7,0,117,17,14,21,0,1,21,1,88,16,21,1,90,21,0,3,17,0,7,0,118,17,14,21,0,1,21,1,137,21,1,7,21,0,2,8,21,1,97,21,1,5,21,1,144,21,1,8,21,1,74,21,1,134,7,8,8,21,1,97,21,1,3,0,26,7,21,1,135,21,1,58,19,19,9,21,1,6,21,1,137,8,21,0,2,17,25,21,0,1,15,188,21,0,5,21,1,147,21,0,1,21,0,4,21,0,2,17,17,7,21,0,2,17,25,21,0,1,21,1,174,16,25,21,0,1,21,0,5,21,0,2,17,22,0,6,11,14,0,24,22,0,7,11,22,0,8,11,14,21,0,6,0,24,21,1,125,15,189,8,16,14,0,24,15,190,0,23,21,1,3,15,191,7,8,21,0,2,17,22,0,9,11,14,21,0,1,3,1,22,0,10,11,14,15,192,21,1,7,21,0,9,8,22,0,11,11,14,21,0,7,21,0,11,21,0,4,17,22,0,12,11,14,21,0,8,21,1,92,16,21,0,10,21,0,11,21,1,7,21,1,174,8,3,2,21,1,148,21,1,85,21,1,7,0,24,8,8,21,0,4,17,22,0,13,11,14,21,0,6,0,24,21,1,125,21,1,3,21,0,12,21,0,13,3,2,7,21,1,147,0,24,21,1,8,21,1,85,8,19,21,1,147,21,1,79,19,8,16,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,57,21,0,1,17,21,1,159,16,14,21,0,6,25,21,0,1,21,1,88,16,21,1,88,0,25,17,21,1,158,16,14,21,0,1,21,1,135,16,22,0,3,11,14,21,0,3,0,20,21,1,12,7,16,21,1,25,21,1,82,7,16,21,1,158,16,14,21,0,3,0,5,16,22,0,4,11,14,0,25,21,1,90,21,0,4,17,21,1,25,21,1,82,7,16,21,1,159,16,14,21,0,4,21,1,93,16,21,1,112,16,22,0,5,11,14,21,0,5,21,1,49,0,30,7,16,21,1,135,21,0,1,21,1,49,21,1,87,7,16,21,1,112,16,17,21,1,146,21,0,5,21,1,135,21,0,3,17,21,1,127,16,17,25,21,0,2,21,1,88,16,21,1,88,0,25,17,21,1,158,16,14,21,0,2,0,20,21,1,12,7,16,21,1,25,21,1,82,7,16,21,1,158,16,14,21,0,1,21,1,135,21,1,6,21,1,146,21,1,7,21,1,127,8,8,21,0,2,21,1,136,16,17,25,0,26,21,1,76,21,0,2,21,1,87,16,17,21,1,110,16,21,1,84,0,26,17,22,0,3,11,14,21,1,3,21,0,1,3,1,21,1,135,21,0,2,21,1,146,21,0,3,21,1,91,0,25,17,17,17,7,21,1,147,21,1,85,21,1,137,21,0,2,21,1,146,21,0,3,17,19,21,1,147,9,19,25,21,0,1,21,1,10,16,21,1,159,16,14,21,0,1,21,1,88,16,21,1,88,0,24,17,21,1,159,16,14,21,0,1,21,1,147,16,25,21,0,2,21,1,88,21,1,6,21,1,92,8,21,0,1,17,22,0,3,11,14,21,0,3,0,25,21,1,8,21,1,90,8,21,1,82,21,1,90,21,1,7,0,24,8,19,16,21,1,159,16,14,21,0,2,0,25,21,1,87,3,2,21,1,148,21,0,3,8,16,22,0,4,11,14,21,0,1,21,1,87,16,21,1,90,21,0,4,17,21,1,159,16,14,21,0,1,21,1,146,21,1,108,21,1,7,21,0,4,8,3,2,21,1,148,21,0,3,8,16,21,1,57,21,0,2,17,21,1,159,16,14,21,0,1,21,1,109,21,0,4,17,25,21,0,1,21,1,87,16,21,1,88,0,26,17,21,1,159,16,14,21,0,1,21,1,146,16,21,1,57,21,0,2,17,21,1,159,16,14,21,0,1,21,1,146,0,25,17,25,21,0,1,21,1,87,16,21,1,88,0,25,17,21,1,159,16,14,21,0,1,21,1,146,16,25,21,0,1,21,1,88,16,21,1,88,0,25,17,21,1,158,16,14,21,0,1,0,20,21,1,12,7,16,21,1,25,21,1,82,7,16,21,1,158,16,14,21,0,1,21,1,109,21,1,7,0,25,8,21,1,90,21,1,109,21,1,7,0,30,8,19,21,1,25,21,1,82,7,9,16,21,1,159,16,14,21,0,1,0,5,16,25,21,0,1,21,1,16,21,1,6,21,0,4,21,1,48,0,20,21,0,4,7,8,8,21,0,2,17,25,21,0,5,14,21,0,1,21,0,4,21,0,2,17,25,21,0,1,21,1,174,16,25,21,0,2,21,1,8,21,0,1,8,0,23,21,0,2,21,0,1,9,8,25,21,1,147,21,1,7,0,25,8,21,0,1,21,1,8,15,193,8,21,1,147,21,1,7,0,24,8,19,25,21,1,1,21,1,5,21,1,57,8,21,1,85,0,24,19,21,1,159,9,21,1,2,21,1,49,21,1,149,21,0,1,7,7,19,25,21,1,1,21,1,5,21,1,57,8,21,1,85,0,24,19,21,1,159,9,21,1,2,0,24,21,1,5,21,1,158,8,0,23,21,1,166,21,1,149,21,0,1,7,7,8,19,25,21,1,1,21,1,5,21,1,88,8,21,1,85,0,24,19,21,1,159,9,21,1,2,21,1,74,21,1,149,21,0,1,7,21,1,1,21,1,7,21,1,10,21,1,5,21,1,159,8,8,9,7,19,25,21,1,1,21,1,5,21,1,88,8,21,1,85,0,24,19,21,1,159,9,21,1,2,0,24,21,1,5,21,1,158,8,0,23,21,1,87,21,1,85,0,25,19,21,1,153,21,1,109,21,1,7,0,25,8,21,1,49,21,1,149,21,0,1,7,7,21,1,109,21,1,7,0,30,8,19,21,1,135,21,1,146,19,8,8,19,25,21,1,147,21,1,7,0,25,8,21,0,1,21,1,8,15,194,8,21,1,146,21,1,7,0,24,0,26,3,2,8,19,25,21,0,2,21,1,167,21,0,1,8,25,21,1,149,21,0,2,7,22,0,3,11,14,21,0,3,21,1,7,21,0,1,8,0,23,21,0,3,8,21,1,149,21,0,1,7,9,25,21,0,1,21,1,155,21,1,149,21,0,2,7,8,25,21,0,1,21,1,153,21,0,2,8,21,1,161,21,0,1,21,1,92,16,21,1,153,21,0,2,8,8,25,21,0,1,21,1,92,16,21,1,153,21,0,2,8,25,21,1,149,21,0,1,7,0,23,21,1,149,21,0,2,7,8,25,21,1,149,21,0,1,7,21,1,7,21,0,2,8,25,21,0,1,0,23,21,1,160,8,25,21,1,149,21,0,2,7,21,1,149,21,0,1,7,9,0,23,21,0,1,21,1,3,0,24,21,1,5,21,1,158,8,7,15,195,3,2,21,1,148,21,1,1,21,1,5,21,1,170,8,8,21,0,2,17,8,25,21,0,1,22,0,3,22,0,4,22,0,5,4,3,11,14,21,1,170,21,1,93,9,22,0,6,11,14,21,0,5,15,196,15,197,21,1,3,21,1,160,7,3,2,21,1,148,21,1,1,21,1,5,21,0,6,8,8,3,2,21,1,148,21,1,2,21,1,5,21,0,6,8,8,21,0,3,17,25,21,1,1,21,1,57,21,1,5,21,1,159,8,21,0,1,19,21,1,2,21,1,1,19,25,21,0,1,21,1,174,16,21,1,1,15,198,3,2,21,1,148,0,24,21,1,1,21,1,5,0,1,8,21,1,146,0,24,0,35,3,2,19,21,1,58,0,31,21,1,167,3,2,19,3,2,21,1,148,21,1,58,21,1,7,21,1,3,21,1,160,7,8,21,1,82,21,1,58,19,8,8,21,0,1,17,25,21,1,85,21,1,137,21,0,1,21,1,135,16,19,21,1,147,9,21,1,4,21,1,147,7,21,0,1,21,1,49,21,1,87,7,16,21,1,87,21,1,135,21,1,112,19,16,19,25,21,0,1,25,21,0,1,25,21,0,1,14,21,1,7,21,2,94,16,25,0,25,0,9,21,1,6,17,22,1,6,12,14,21,0,1,0,18,21,1,6,17,25,21,1,8,21,1,7,21,1,5,0,18,21,0,1,17,17,22,1,8,12,25,21,0,2,0,16,16,22,0,5,11,14,21,0,2,0,14,16,0,19,16,21,2,25,0,10,21,2,7,21,0,1,0,16,16,21,2,8,0,18,8,0,14,21,0,5,21,2,8,0,18,8,19,8,7,0,25,17,0,7,0,37,17,14,21,0,5,21,2,25,0,10,7,0,25,17,0,19,16,0,20,21,0,1,0,17,16,21,2,8,0,18,8,21,0,4,21,0,2,0,17,16,21,2,8,0,18,8,19,7,16,0,17,21,0,5,17,25,21,0,2,0,16,16,22,0,5,11,14,21,0,2,0,14,16,22,0,6,11,14,21,0,1,0,16,16,22,0,7,11,14,21,0,6,0,19,16,21,2,25,0,10,21,2,7,21,0,7,21,2,8,0,18,8,0,14,21,0,5,21,2,8,0,18,8,19,8,7,0,25,17,0,7,0,38,17,14,21,0,6,0,9,21,0,1,0,14,16,17,0,19,16,21,2,25,0,10,21,2,7,0,8,21,2,7,21,0,6,8,21,2,4,0,18,7,21,0,7,19,8,7,0,25,17,22,0,8,11,14,21,0,2,0,17,16,22,0,9,11,14,21,0,1,0,17,16,22,0,10,11,14,21,0,8,0,19,21,2,6,0,20,21,2,3,21,0,10,7,0,18,0,8,21,2,7,0,10,21,2,7,21,0,8,8,8,19,21,0,4,21,0,9,21,2,8,0,18,8,19,7,8,21,0,9,21,2,23,16,17,0,17,16,0,17,21,0,7,17,25,21,0,1,21,2,31,21,0,4,7,21,0,2,17,25,21,0,1,0,20,15,199,21,0,2,7,7,16,25,21,0,2,0,20,15,200,21,0,1,7,7,16,25,21,1,6,0,10,0,26,17,0,15,21,0,1,21,2,25,21,2,20,7,16,22,1,10,12,0,9,21,0,1,21,2,25,21,2,21,7,16,22,1,9,12,17,17,25,21,0,1,14,21,2,4,0,24,7,21,2,19,0,24,21,2,122,21,1,8,21,2,8,0,18,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,15,21,2,7,21,1,6,8,8,22,0,6,11,14,0,24,0,14,21,1,6,17,0,8,21,1,6,17,0,4,0,26,17,21,2,21,16,22,0,7,11,0,19,16,0,20,21,2,1,0,8,0,25,19,0,9,21,0,7,19,0,12,0,26,19,7,16,21,2,25,15,201,7,21,1,6,0,19,16,17,25,21,0,1,0,20,21,2,12,7,16,21,2,25,0,10,7,0,25,17,0,7,0,41,17,14,0,25,0,9,21,1,3,17,22,0,3,11,14,21,2,1,0,9,21,0,3,19,21,2,4,0,18,7,21,1,3,0,19,16,0,20,0,9,21,2,7,21,0,3,8,7,16,0,21,21,2,1,21,2,4,0,18,7,21,0,1,19,0,14,0,24,19,0,10,0,9,19,0,8,21,2,1,19,7,16,19,22,0,4,11,14,21,0,1,0,21,0,8,7,16,21,2,8,0,18,8,22,0,5,11,14,0,24,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,19,16,0,20,15,202,7,16,25,21,0,1,0,9,21,1,3,17,0,19,16,0,20,0,8,21,2,7,21,0,1,8,7,16,25,21,0,1,0,3,21,0,2,19,25,21,0,2,0,22,21,0,1,21,2,95,21,0,2,17,8,25,21,2,1,21,2,10,9,0,14,21,2,6,0,14,8,0,16,21,2,6,21,2,49,0,14,7,8,21,2,25,0,10,7,0,25,19,3,3,21,2,25,15,203,7,16,22,0,3,11,14,15,204,22,0,4,11,14,21,2,14,21,0,4,15,205,3,2,21,2,0,21,2,1,21,2,5,21,2,25,21,0,3,7,8,8,3,2,21,2,0,21,2,1,0,18,0,24,19,21,2,10,9,8,22,0,5,11,14,0,24,22,0,6,11,14,21,0,1,15,206,16,14,21,0,1,21,0,2,3,2,21,0,5,0,24,17,22,0,7,11,14,21,0,6,0,19,16,0,20,15,207,7,16,22,0,8,11,14,21,0,8,21,0,4,0,14,21,0,7,17,21,2,9,21,2,3,21,2,50,7,8,16,25,15,208,21,2,7,21,0,2,8,22,0,3,11,14,15,209,22,0,4,11,14,15,210,21,2,7,0,24,8,22,0,5,11,14,21,0,1,21,2,3,21,0,2,7,0,18,0,24,19,0,18,0,25,19,21,0,5,3,2,21,2,0,21,1,7,21,2,5,21,2,10,8,8,16,25,21,1,6,21,0,1,16,25,21,0,4,22,0,6,11,14,21,0,1,22,0,7,22,0,8,22,0,9,4,3,11,14,21,0,5,21,2,10,21,2,19,21,0,8,19,21,2,9,15,211,21,2,5,21,1,6,8,8,16,21,0,7,21,0,2,17,22,0,10,11,14,21,0,10,21,0,9,21,2,9,15,212,8,16,25,21,0,1,15,213,21,0,1,21,0,2,21,0,4,3,3,7,3,2,21,2,0,21,2,1,21,1,8,9,8,25,21,1,5,0,23,21,0,1,8,25,21,0,1,0,23,21,1,5,8,25,21,1,5,21,0,1,3,2,21,2,0,21,0,4,0,9,0,25,19,21,2,6,0,10,0,23,21,2,1,8,8,8,25,21,0,1,22,0,3,11,14,15,214,25,21,0,1,22,0,3,11,14,15,215,25,21,0,2,21,0,1,16,25,21,0,1,21,2,49,21,1,18,7,16,25,21,0,1,21,0,2,16,25,21,0,1,0,14,21,2,7,21,1,4,8,0,9,0,25,19,21,2,9,15,216,8,16,14,21,1,5,0,18,0,25,0,8,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,20,15,217,7,16,25,21,0,2,22,0,3,11,14,21,1,9,0,18,21,0,1,17,22,0,4,11,14,21,1,5,0,20,0,18,21,2,7,21,0,1,8,7,16,22,0,5,11,14,21,0,4,0,19,16,0,20,21,2,3,21,0,5,7,0,18,0,10,21,2,7,21,0,3,8,19,7,16,22,0,6,11,14,21,0,3,0,19,16,0,20,21,2,2,7,21,0,6,17,0,20,21,2,1,7,21,1,10,0,19,16,17,0,17,16,21,2,49,0,14,7,21,0,5,17,21,2,25,0,10,7,0,25,17,0,7,0,55,17,14,21,0,6,21,2,36,16,22,0,7,11,14,21,0,7,21,2,23,16,0,19,16,0,20,21,0,6,21,1,8,0,8,7,0,24,17,21,2,29,21,0,7,17,21,2,8,0,18,8,21,2,8,0,9,8,7,16,22,0,8,11,14,21,0,8,0,20,21,2,1,7,21,1,12,17,21,2,49,0,8,7,21,0,7,0,20,21,0,6,21,2,8,0,18,8,21,2,8,0,10,8,7,21,1,12,17,17,22,1,12,12,14,21,0,7,0,20,0,8,21,2,7,21,0,4,21,2,8,0,10,8,8,7,21,1,11,17,22,1,11,12,14,21,0,4,0,10,22,1,10,13,25,21,0,4,0,18,21,0,1,17,0,18,21,0,2,17,25,21,2,29,21,2,7,21,1,7,0,9,21,1,6,17,0,19,16,0,20,0,8,21,2,7,21,1,7,8,7,16,8,22,0,3,11,14,21,1,5,0,18,0,24,17,21,0,3,16,22,0,4,11,14,21,1,5,0,20,21,0,3,21,2,49,0,14,7,21,0,4,19,21,2,25,0,10,7,9,7,16,21,2,25,0,10,7,0,25,17,0,7,0,56,17,14,21,0,4,21,2,25,0,10,7,16,22,0,5,11,0,19,16,0,17,21,0,4,17,22,0,6,11,14,21,0,6,0,20,21,2,2,7,21,0,1,17,21,1,13,21,0,6,0,20,0,8,21,2,7,0,10,21,2,7,21,0,5,8,8,7,21,0,2,17,17,25,21,0,2,0,14,16,21,2,17,0,25,17,0,7,21,1,6,17,14,21,0,2,21,2,13,16,22,0,2,12,14,21,0,2,0,20,21,2,11,7,16,21,2,25,0,10,7,0,25,17,0,7,21,1,7,17,14,21,0,2,21,2,23,16,22,0,3,11,14,21,0,1,21,2,58,16,21,2,23,21,2,8,21,2,19,8,21,2,9,15,218,8,21,0,3,17,22,0,4,11,14,15,219,22,0,5,11,14,0,24,21,2,18,16,22,0,6,11,14,0,25,22,0,7,11,14,15,220,22,0,8,11,14,0,24,22,0,9,11,14,21,0,3,0,19,16,0,20,21,0,2,21,2,8,0,18,8,15,221,21,1,4,15,222,7,21,0,8,21,2,2,19,3,2,21,2,0,21,1,3,8,21,0,4,21,2,8,0,18,8,19,7,16,22,0,10,11,14,21,0,1,21,2,16,16,21,2,1,0,22,0,17,21,2,7,21,0,4,8,15,223,3,2,21,2,0,21,0,6,0,14,16,21,2,18,0,24,17,8,8,16,25,21,0,1,0,14,16,0,15,21,1,3,17,0,7,0,71,17,14,21,0,2,0,20,21,2,12,7,16,21,2,25,0,10,7,16,0,7,0,72,17,14,21,0,1,21,2,58,16,22,0,3,11,14,21,1,3,0,19,16,0,20,21,0,2,21,2,8,0,18,8,0,9,21,0,3,21,2,8,0,18,8,19,0,8,0,25,19,7,16,22,0,4,11,14,21,0,4,0,20,0,15,21,2,7,0,24,8,7,16,21,2,25,0,10,7,16,0,7,0,73,17,14,21,0,3,21,2,29,21,1,3,0,9,21,2,7,21,2,23,8,21,0,3,17,0,19,16,0,20,0,8,21,2,7,21,1,3,8,7,16,17,22,0,5,11,21,2,25,0,10,7,0,25,17,22,0,6,11,14,0,25,0,9,21,1,3,17,15,224,16,21,2,27,21,0,6,3,1,17,0,21,0,10,7,16,21,2,39,16,22,0,7,11,14,21,0,2,21,2,1,21,2,49,15,225,7,21,0,7,19,21,2,25,0,20,0,8,7,7,9,21,2,6,0,20,0,8,7,8,21,0,4,17,0,25,21,2,8,0,14,8,0,9,0,25,19,21,2,9,21,2,4,0,19,0,17,21,0,5,19,21,2,8,0,20,0,8,7,8,7,8,21,0,6,17,0,20,21,0,1,0,17,16,21,2,8,0,18,8,7,16,25,21,0,1,0,14,16,0,15,0,25,17,0,7,0,74,17,14,21,0,1,21,1,3,21,0,2,17,25,21,0,2,0,14,16,21,2,17,0,25,17,0,7,0,75,17,14,21,0,1,21,2,58,16,21,2,23,21,2,6,0,15,8,21,0,2,17,0,7,0,76,17,14,21,0,2,21,2,23,16,22,0,3,11,14,21,0,2,0,17,16,21,2,8,0,18,8,22,0,4,11,14,21,0,1,21,0,3,21,2,18,0,24,17,21,2,9,15,226,8,0,24,17,25,21,0,1,21,2,49,21,2,1,0,25,3,2,21,2,0,21,2,2,8,7,21,1,4,17,21,2,25,21,2,84,7,16,22,0,3,11,14,21,0,3,21,2,85,0,24,17,0,7,0,82,17,14,21,1,4,21,2,87,16,0,19,16,21,2,84,21,1,4,17,21,2,25,21,2,91,7,16,22,0,4,11,14,21,1,3,0,18,21,0,4,17,21,2,151,16,22,0,5,11,14,0,34,21,2,85,21,0,5,17,0,7,0,83,17,14,21,2,88,21,2,7,21,2,80,8,0,7,0,84,19,21,2,2,21,2,1,19,22,0,6,11,14,21,0,3,21,2,76,21,1,7,17,21,0,6,21,2,80,21,2,81,3,3,21,2,0,21,0,5,21,2,80,0,26,17,8,16,22,0,7,11,14,21,1,3,21,2,49,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,84,21,0,3,17,21,0,5,21,2,88,0,28,17,21,2,9,21,2,85,21,2,7,21,1,7,8,21,2,9,15,227,8,8,16,25,21,1,8,0,19,16,0,20,21,2,2,7,21,2,7,0,3,21,2,5,21,2,85,8,8,15,228,3,2,21,2,0,21,1,7,21,2,85,0,24,17,8,21,0,1,17,25,21,0,1,21,2,12,16,0,7,0,85,17,14,21,0,1,0,19,16,25,21,0,1,21,2,88,16,21,2,88,0,25,17,0,7,0,86,17,14,21,0,1,0,20,21,1,3,7,16,21,2,25,0,20,21,2,27,21,2,7,21,2,97,8,7,7,3,0,21,2,85,16,17,0,3,21,0,1,0,20,0,24,7,16,17,25,21,1,9,21,1,7,21,2,91,21,0,4,17,7,22,0,5,11,14,21,0,1,21,2,49,21,0,5,7,21,2,2,21,2,5,0,20,21,0,1,21,2,8,21,0,5,8,7,8,21,2,1,21,2,5,0,20,21,2,1,21,0,5,21,0,2,19,7,8,21,1,8,3,4,21,2,0,21,2,57,21,2,6,21,2,14,8,21,2,89,21,0,4,21,2,81,0,24,17,19,21,2,83,0,24,21,2,89,21,0,4,17,21,2,82,21,1,7,17,19,21,2,96,0,26,19,21,2,25,21,2,91,21,2,7,0,26,21,2,8,21,2,84,8,8,7,9,8,21,0,2,17,25,21,0,1,21,2,58,16,21,2,29,21,0,2,0,19,16,17,22,0,3,11,14,21,0,1,21,2,26,21,0,2,17,22,0,4,11,21,2,25,21,2,84,7,16,22,0,5,11,14,21,0,5,0,19,16,21,2,97,21,0,4,17,22,0,6,11,14,21,0,1,15,229,0,22,21,2,3,21,0,3,21,2,25,21,2,84,7,16,0,19,16,0,20,21,2,1,21,2,84,21,0,5,19,21,2,91,21,0,6,19,21,2,4,21,2,29,7,21,0,1,21,2,97,16,19,7,16,21,2,97,21,0,3,17,7,8,16,25,21,0,1,21,2,58,16,21,2,68,0,25,17,22,0,3,11,14,15,230,22,0,4,11,14,21,1,5,21,2,3,21,0,1,7,21,2,97,21,0,4,19,21,2,94,21,2,8,21,2,96,8,3,2,21,2,0,21,2,87,21,2,7,21,2,3,21,2,152,7,8,8,21,0,3,17,25,21,0,1,21,2,74,21,2,85,7,16,21,2,25,21,1,5,7,21,0,2,17,25,21,0,2,21,2,88,21,1,4,17,25,21,1,3,21,2,91,22,1,4,13,14,21,0,1,21,2,91,0,25,17,25,21,0,1,14,21,1,6,0,18,21,1,7,17,21,2,1,0,25,21,2,91,21,1,7,17,22,1,7,12,17,25,21,0,1,21,2,97,16,21,1,3,16,0,20,21,0,1,21,2,58,16,21,2,110,16,21,2,97,16,21,2,8,21,2,29,8,7,16,25,21,0,1,21,2,87,21,2,6,21,2,92,8,21,0,2,17,21,2,84,16,22,0,3,11,14,21,0,1,21,2,87,21,2,6,21,2,80,8,21,0,2,17,22,0,4,11,14,21,0,1,15,231,21,2,7,21,2,87,21,2,91,21,0,4,21,2,110,16,21,2,91,0,25,17,21,2,92,16,19,8,21,2,6,15,232,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,233,21,1,7,3,2,21,2,0,21,2,88,21,2,7,21,1,6,8,8,22,0,5,11,14,0,24,21,0,5,16,25,15,234,22,0,3,11,14,0,30,21,0,3,0,25,21,2,91,21,0,1,17,17,21,2,91,0,25,17,25,21,0,2,21,2,123,21,0,1,21,2,8,21,1,13,8,7,16,25,21,0,2,21,2,88,16,21,2,4,21,2,92,7,0,25,17,22,0,3,11,14,21,0,3,21,2,90,0,24,17,0,7,0,109,17,14,21,0,1,21,2,88,16,21,2,90,21,0,3,17,0,7,0,110,17,14,21,0,1,21,2,16,16,21,2,1,21,2,5,21,0,3,21,2,126,0,24,8,8,21,2,1,21,0,3,21,2,126,21,2,85,8,3,2,21,2,0,21,0,3,21,2,85,0,24,17,8,21,2,6,0,20,21,2,58,7,8,21,1,3,9,3,2,21,2,0,21,0,2,21,2,87,16,21,2,85,0,24,17,8,15,235,3,2,21,2,0,21,2,97,21,2,5,21,2,87,8,21,2,85,0,29,19,21,2,6,21,2,82,8,8,21,0,2,17,25,21,0,1,25,21,0,1,21,2,11,16,0,7,0,119,17,14,21,0,1,21,2,80,21,1,8,17,22,1,8,12,14,21,0,1,21,2,81,21,1,7,17,22,1,7,12,25,15,236,21,2,3,21,0,2,7,7,25,21,2,2,21,0,1,9,25,21,0,1,21,2,110,16,21,2,135,21,1,10,17,0,21,21,0,2,7,16,25,21,0,2,21,0,1,16,25,21,0,2,21,2,25,21,0,1,7,16,25,21,2,1,21,2,149,21,2,4,21,0,2,7,7,21,0,1,19,25,21,2,1,21,2,149,21,1,4,7,21,0,2,19,15,237,21,2,149,21,0,1,7,8,25,21,2,1,21,2,149,21,2,4,21,1,4,7,7,21,0,1,19,21,2,149,21,0,2,7,9,25,21,0,1,21,2,161,21,0,2,8,21,2,167,21,0,1,8,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,9,16,22,0,4,11,14,0,24,22,0,5,11,22,0,6,11,22,0,7,11,14,0,28,22,0,8,11,14,21,0,1,0,25,0,14,21,2,7,17,0,9,0,25,17,21,3,9,0,20,0,10,21,3,7,21,2,7,8,7,8,16,21,3,8,0,18,8,21,3,6,21,1,5,8,22,0,9,11,14,21,0,9,0,24,0,25,0,26,3,4,22,0,10,11,14,0,8,15,238,3,2,0,18,21,0,3,0,15,0,29,17,17,22,0,11,11,14,15,239,22,0,12,11,14,15,240,15,241,21,0,12,3,3,21,3,0,15,242,8,22,0,13,11,14,21,0,1,0,20,21,0,1,21,3,8,15,243,8,7,16,25,21,1,6,21,1,7,0,14,21,0,1,17,21,3,9,15,244,8,16,25,0,24,21,0,1,3,2,21,3,0,21,0,2,8,25,21,0,0,0,24,3,2,25,21,0,2,22,0,3,11,14,21,0,1,21,3,49,0,17,7,16,22,0,4,11,0,18,0,24,17,21,3,23,16,22,0,5,11,14,0,30,22,0,6,11,14,21,0,4,21,3,8,21,3,49,0,18,7,8,21,3,8,21,1,5,8,22,0,7,11,14,15,245,25,21,0,1,15,246,0,20,21,0,0,7,3,2,21,3,0,21,3,10,8,16,25,21,0,1,21,1,7,16,22,0,3,22,0,4,4,2,11,14,21,0,3,22,1,7,12,14,21,0,4,25,21,0,1,21,3,10,0,9,0,25,19,21,3,9,21,3,18,8,16,22,0,1,12,14,21,0,1,0,16,16,22,0,3,11,21,3,25,0,10,7,0,25,17,22,0,4,11,14,21,0,2,0,20,0,18,21,3,7,0,24,8,7,16,22,0,5,11,14,21,0,5,0,24,21,3,35,21,3,32,8,16,22,0,6,11,14,21,0,6,0,20,21,0,2,21,3,8,0,18,8,0,18,0,25,19,7,16,22,0,7,11,14,21,3,3,21,0,5,7,0,18,21,0,6,21,3,8,0,18,8,19,21,0,4,3,2,21,3,0,0,15,21,3,7,21,0,6,21,3,23,16,8,8,22,0,8,11,14,0,24,22,0,9,11,21,0,8,16,22,0,10,11,14,21,0,4,0,19,16,0,20,21,0,1,0,17,16,21,3,8,0,18,8,15,247,3,2,21,3,0,15,248,8,7,16,0,17,21,0,3,17,25,21,0,1,21,3,49,21,3,2,0,14,21,0,1,21,0,5,16,19,21,3,9,21,0,4,8,7,21,0,1,21,3,23,16,0,19,16,17,25,21,0,1,0,17,21,3,5,21,3,3,21,2,7,7,0,18,21,0,2,19,21,1,4,21,0,0,21,3,7,21,0,2,0,8,0,25,17,8,8,8,0,17,0,16,19,21,1,3,3,2,21,3,0,21,2,7,21,3,23,16,21,3,17,21,0,2,17,8,16,25,21,0,1,3,1,3,0,21,3,27,3,2,21,3,0,21,3,2,21,3,10,9,8,21,1,6,17,22,1,6,12,25,21,0,1,21,2,7,21,1,6,8,25,21,0,4,21,0,1,21,0,2,17,25,0,24,21,3,3,21,1,3,21,0,1,7,7,16,21,2,16,16,25,0,24,21,3,3,21,0,2,21,1,3,21,0,1,8,7,16,21,2,16,16,25,21,0,1,22,2,4,12,21,3,4,0,18,7,21,2,6,17,22,2,5,12,14,0,30,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,27,21,0,1,21,3,23,16,0,9,21,0,2,17,0,19,21,3,5,0,20,0,25,7,8,16,17,25,21,0,1,0,20,0,8,7,21,0,2,0,20,21,0,4,21,3,8,0,10,8,7,16,17,25,21,0,1,0,25,21,3,8,0,14,8,0,9,0,25,19,21,3,9,21,1,5,21,0,2,7,21,3,7,0,19,8,8,21,1,7,17,21,1,5,21,0,2,0,10,21,1,7,17,7,22,1,6,13,14,0,25,22,1,7,12,14,21,0,1,21,3,23,16,25,21,0,2,0,10,22,1,7,13,14,21,0,2,25,21,0,1,14,0,25,22,1,9,12,25,21,1,3,0,9,21,1,4,21,3,23,16,17,0,19,16,0,20,0,8,21,3,7,21,1,3,8,21,3,4,0,18,7,21,1,4,19,7,16,22,0,3,11,21,3,27,22,1,10,13,14,21,0,3,21,3,25,0,10,7,21,1,7,17,0,14,21,3,7,0,25,8,0,9,0,25,19,21,3,9,15,249,8,16,14,21,0,1,0,17,16,21,3,8,0,18,8,22,0,4,11,14,21,1,9,21,3,1,21,3,9,15,250,8,21,0,1,17,14,21,1,6,0,17,21,1,10,17,0,20,21,0,4,7,16,25,21,0,1,0,19,16,0,20,0,9,21,3,7,21,0,1,8,21,3,4,0,18,7,21,1,3,19,7,16,25,21,0,1,0,19,16,0,20,0,10,21,3,7,21,0,2,8,7,16,25,21,0,1,0,25,0,9,21,1,3,17,21,3,18,21,0,2,17,21,3,9,21,3,74,21,0,0,21,3,7,21,0,2,0,8,0,25,17,8,7,8,16,21,2,3,21,0,2,21,1,4,16,17,25,21,2,7,21,3,92,21,0,1,17,0,19,16,0,20,21,2,6,0,3,16,7,16,21,3,27,22,2,6,13,14,21,2,7,25,21,0,1,21,3,79,21,2,7,17,0,20,21,2,6,21,3,8,0,18,8,7,16,25,21,1,6,0,20,21,0,1,21,3,85,16,7,16,25,21,0,2,21,3,87,16,21,3,85,0,24,17,0,7,0,91,17,14,21,0,2,21,3,87,16,0,19,16,21,3,85,0,24,17,21,3,84,21,0,2,17,25,21,0,2,0,20,21,0,1,21,3,8,0,18,8,7,16,25,21,0,1,21,3,88,21,0,2,17,0,21,21,3,82,7,16,21,3,25,21,3,91,7,16,22,0,3,11,14,21,0,3,21,3,110,16,0,20,21,0,2,21,3,8,0,18,8,7,16,21,3,25,21,3,84,7,16,22,0,4,11,14,21,0,3,21,3,86,21,3,7,21,1,4,8,21,3,9,21,0,2,21,0,1,3,2,21,3,8,21,3,49,0,18,7,8,21,3,5,15,251,8,8,16,14,21,0,4,25,21,1,4,21,3,91,21,3,7,21,0,1,8,21,3,6,21,2,5,8,21,1,3,17,21,3,88,21,3,7,0,24,8,21,3,9,21,0,1,21,3,91,0,25,17,21,3,5,21,1,5,8,8,16,25,21,0,1,0,25,21,3,8,21,3,86,8,21,3,9,15,252,8,21,0,2,17,25,21,0,2,21,3,128,16,21,3,111,16,22,0,3,11,14,21,0,1,21,3,127,21,0,2,21,3,29,21,0,3,17,17,21,3,4,21,3,92,7,0,25,17,21,3,81,0,24,17,21,3,4,21,3,29,7,21,0,3,17,22,0,4,11,14,21,0,1,21,1,3,21,3,126,21,3,57,8,21,0,2,21,3,29,21,0,4,17,17,21,2,2,21,3,9,21,3,84,21,3,7,21,3,92,21,3,7,21,0,4,8,8,21,3,91,21,3,2,19,8,21,0,2,21,3,87,16,17,25,21,3,2,21,0,1,21,0,4,19,25,21,0,1,21,0,5,16,21,0,4,21,0,2,17,25,21,0,1,21,1,8,0,9,0,25,17,21,4,9,21,1,9,0,9,0,25,19,21,4,9,15,253,8,8,0,25,0,9,21,0,1,17,17,25,21,0,2,0,8,21,1,3,17,22,1,4,12,14,21,0,1,0,8,21,1,3,17,22,1,7,12,21,2,6,16,22,1,6,12,0,8,21,1,3,17,21,2,6,16,22,1,5,12,14,21,1,7,0,15,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,8,0,25,17,22,1,4,12,0,14,21,1,6,17,0,10,0,26,17,0,8,22,1,8,13,14,21,0,2,25,21,0,1,0,8,0,25,17,22,1,7,12,0,14,21,1,5,17,0,8,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,18,21,1,7,21,1,13,21,1,4,17,17,25,0,25,0,8,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,0,25,0,8,22,1,6,13,14,21,1,6,21,1,7,21,4,7,21,4,3,21,0,0,7,8,21,4,3,21,1,3,7,3,2,21,4,0,0,15,21,4,7,21,1,5,8,8,16,22,0,3,11,14,0,24,21,0,3,16,25,21,0,1,14,0,25,0,8,22,2,6,13,25,21,0,1,14,21,1,7,0,18,21,1,9,17,22,0,3,11,14,0,24,15,254,16,22,1,10,12,14,21,0,3,25,21,0,1,0,14,21,1,10,17,25,21,0,1,0,19,16,21,2,5,21,0,1,7,22,2,6,13,25,21,4,3,21,0,2,0,3,16,7,21,1,4,3,2,21,4,0,0,15,21,4,7,0,24,8,8,22,1,4,12,25,21,0,1,21,4,25,21,4,92,7,16,21,4,84,16,22,2,3,12,14,21,0,1,21,4,25,21,4,80,7,16,21,4,84,21,1,4,17,22,1,4,12,25,0,26,21,4,76,21,0,2,17,21,4,80,16,22,0,3,11,21,4,91,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,18,21,0,5,17,21,2,3,21,0,2,21,4,79,0,26,17,21,4,84,21,0,5,17,21,4,91,21,0,3,17,17,25,21,0,1,14,0,26,22,2,8,12,14,21,2,4,22,2,7,12,14,21,0,1,22,2,4,12,25,21,2,9,0,8,0,25,17,22,2,9,12,21,2,8,16,21,5,1,0,14,21,2,10,19,21,5,9,15,255,21,5,5,21,0,0,8,8,16,25,21,0,1,14,21,3,7,0,18,21,3,9,17,21,6,55,21,2,3,17,0,7,0,51,17,25] ,provide.concat([0,1,2,32,3,8,-1,5,-Infinity,Infinity,4,-2,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 have rank at least 1"),str("⊏𝕩: 𝕩 cannot have length 0"),str("𝕨⊏𝕩: 𝕨 must be an array"),str("𝕨⊏𝕩: Indices in 𝕨 must be integers"),str("𝕨⊏𝕩: Indices out of range"),str("⌾: Incompatible result elements in structural Under"),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("∾𝕩: empty 𝕩 fill rank must be at least argument rank"),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("⎉ or ⚇: 𝔽 result must have rank at most 1"),str("⎉ or ⚇: 𝔽 result must have 1 to 3 elements"),str("⎉ or ⚇: 𝔽 result must consist of integers"),str("˝: 𝕩 must have rank at least 1"),str("˝: Identity does not exist"),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("p⊐n or n∊p: Rank of n must be at least cell rank of p"),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("⊒: Rank of 𝕨 must be at least 1"),str("⊒: Rank of 𝕩 must be at least cell rank of 𝕨"),str("⍟: Repetition numbers in 𝕨 must be integers"),str("⁼: Inverse failed"),str("⁼: Inverse does not exist"),str("⁼: Inverse not found"),str("Cannot currently invert blocks"),str("Cannot invert modifier")]) ,[[0,1,0,177],[2,0,4120,6],[0,0,4147,3],[0,0,4151,3],[0,0,4155,3],[1,0,4159,5],[1,0,4167,5],[2,0,4185,6],[2,0,4200,6],[2,0,4219,6],[2,0,4241,6],[2,0,4263,6],[0,0,4295,3],[0,0,4307,3],[0,0,4316,3],[0,0,4322,3],[0,0,4339,3],[0,0,4348,3],[1,0,4357,9],[0,0,4470,3],[0,0,4510,4],[0,0,4586,5],[0,0,4661,3],[1,1,4678,4],[1,1,4751,3],[0,0,4829,3],[0,0,4840,5],[2,0,4924,12],[0,0,5135,4],[0,0,5189,6],[0,0,5279,7],[0,0,5408,4],[0,0,5469,4],[0,0,5571,3],[0,0,5639,4],[1,1,5716,2],[0,0,5749,3],[0,0,5799,4],[0,0,5941,4],[2,1,6041,3],[1,0,6084,5],[0,0,6122,3],[2,0,6126,11],[0,0,6257,3],[0,0,6265,6],[0,0,6292,5],[0,0,6313,6],[1,0,6340,19],[0,0,6846,3],[0,0,6873,3],[0,0,6899,3],[2,1,6938,3],[0,0,7007,4],[0,0,7104,7],[0,0,7151,14],[0,0,7385,5],[1,1,7482,8],[1,0,7535,6],[1,1,7643,2],[0,0,7701,5],[0,0,7863,5],[0,0,8000,7],[0,0,8169,3],[0,0,8228,4],[1,0,8308,5],[2,1,8325,4],[0,0,8361,3],[0,0,8388,3],[0,0,8410,3],[0,0,8432,3],[0,0,8469,3],[0,0,8488,9],[0,0,8645,5],[0,0,8679,3],[1,1,8774,2],[2,0,8843,10],[2,0,8902,8],[1,0,9095,7],[0,0,9162,8],[0,0,9398,5],[0,0,9464,3],[1,0,9498,8],[0,0,9597,4],[0,0,9716,7],[0,0,10068,4],[0,0,10281,3],[0,0,10299,4],[1,0,10371,9],[1,1,10440,3],[1,0,10464,14],[1,1,10907,4],[1,0,10961,6],[0,0,11105,4],[0,0,11178,3],[0,0,11252,3],[0,0,11307,4],[0,0,11436,4],[0,0,11556,4],[2,0,11677,6],[1,1,11705,2],[2,0,11713,14],[2,0,11900,7],[0,0,11941,6],[0,0,12091,3],[2,1,12161,4],[0,0,12244,3],[0,0,12282,5],[0,0,12426,3],[0,0,12473,3],[0,0,12499,3],[1,0,12586,5],[2,0,12614,6],[0,0,12629,3],[0,0,12637,3],[1,1,12658,2],[0,0,12687,3],[0,0,12723,3],[0,0,12771,3],[0,0,12825,3],[1,1,12912,2],[0,0,12945,3],[0,0,12956,4],[0,0,12993,3],[0,0,13008,3],[0,0,13037,3],[0,0,13052,3],[0,0,13070,3],[0,0,13085,3],[0,0,13095,3],[0,0,13152,7],[0,0,13231,3],[1,1,13256,2],[0,0,13338,3],[1,1,13387,2],[1,1,13391,2],[0,0,13395,3],[0,0,13407,3],[0,0,13430,3],[1,0,13451,6],[1,0,13568,11],[1,0,13789,5],[0,0,13804,3],[0,0,13818,3],[0,0,13832,3],[1,0,13877,8],[0,0,14015,8],[0,0,14182,3],[0,0,14208,3],[0,0,14218,3],[0,0,14235,9],[0,0,14418,6],[0,0,14493,3],[2,0,14501,11],[1,0,14578,5],[0,0,14609,3],[0,0,14619,3],[1,0,14629,5],[0,0,14662,4],[0,0,14673,4],[0,0,14684,3],[0,0,14692,3],[0,0,14704,3],[0,0,14712,3],[1,0,14756,7],[0,0,14782,9],[1,0,15068,5],[0,0,15084,7],[0,0,15251,11],[0,0,15493,8],[0,0,15805,3],[0,0,15833,5],[0,0,15928,8],[0,0,16183,3],[0,0,16230,3],[0,0,16250,3],[1,0,16316,6],[0,0,16469,7],[0,0,16607,5],[0,0,16684,3],[0,0,16707,3],[0,0,16718,3],[0,0,16739,3],[0,0,16770,3],[0,0,16808,6],[0,0,16913,6],[0,0,16962,4],[0,0,16991,3],[0,0,17010,4],[1,1,17187,2],[0,0,17191,3],[0,0,17234,3],[0,0,17245,3],[0,0,17253,3],[0,0,17275,3],[0,0,17283,3],[0,0,17295,3],[0,0,17314,3],[0,0,17339,3],[0,0,17366,3],[1,0,17384,5],[1,0,17395,5],[0,0,17406,14],[0,0,17576,3],[0,0,17596,3],[0,0,17611,3],[0,0,17619,8],[0,0,17690,3],[0,0,17712,5],[0,0,17741,11],[2,0,17953,6],[0,0,17992,3],[0,0,18063,3],[0,0,18095,3],[1,0,18106,5],[1,1,18117,2],[2,1,18136,3],[0,0,18158,3],[0,0,18187,4],[0,0,18210,3],[1,0,18243,5],[0,0,18269,3],[0,0,18339,3],[0,0,18353,3],[0,0,18364,5],[0,0,18500,3],[0,0,18530,3],[0,0,18550,3],[0,0,18604,3],[0,0,18639,3],[0,0,18663,3],[0,0,18678,3],[0,0,18721,3],[0,0,18738,5],[0,0,18848,3],[0,0,18903,3],[0,0,18926,5],[1,0,19055,5],[2,0,19066,6],[0,0,19081,3],[0,0,19120,3],[0,0,19203,3],[0,0,19237,3],[0,0,19266,3],[0,0,19284,3],[0,0,19301,3],[0,0,19330,4],[0,0,19391,3],[0,0,19404,4],[0,0,19436,3],[0,0,19446,3],[0,0,19464,3],[0,0,19496,3],[0,0,19539,6],[0,0,19618,3],[0,0,19645,3],[0,0,19685,3]] ); // Compiler runtime[42] = assertFn("Compiler"); let compile = run( [0,57,0,0,0,81,17,22,0,0,11,14,0,87,0,88,0,89,21,0,0,0,21,0,90,17,0,91,0,92,0,93,0,94,0,95,0,20,0,57,0,49,3,2,17,0,42,0,32,7,0,58,17,0,57,0,25,16,0,0,0,82,17,0,96,0,59,22,0,1,11,0,25,16,0,44,0,0,7,0,98,17,0,20,16,0,41,0,21,7,0,97,17,0,60,0,0,0,81,17,0,21,0,100,17,0,21,0,99,0,24,0,58,17,17,0,101,3,14,0,43,0,13,7,0,11,0,50,0,22,8,0,21,19,16,22,0,2,22,0,3,4,2,11,14,21,0,3,0,27,0,51,0,61,8,0,48,0,0,7,9,0,52,0,41,0,43,0,22,7,7,8,16,22,0,4,22,0,5,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,4,14,11,14,0,33,0,52,0,1,8,0,12,0,9,0,15,0,51,0,61,8,19,0,33,0,51,0,62,8,19,22,0,18,11,14,21,0,7,0,33,16,22,0,19,11,14,0,13,0,11,0,62,19,0,41,0,30,7,0,102,19,0,52,0,21,8,22,0,20,11,14,15,1,22,0,21,11,14,15,2,21,0,2,7,22,0,22,11,14,21,0,13,0,33,16,22,0,23,11,14,0,62,0,63,0,64,0,58,0,65,0,58,0,61,3,2,0,66,0,61,0,63,0,25,16,0,28,16,0,30,0,67,17,3,9,0,40,21,0,3,7,0,23,0,13,19,0,52,0,41,0,43,0,20,7,7,8,16,0,21,16,22,0,24,11,14,0,2,0,48,0,6,7,9,22,0,25,11,14,21,0,25,0,51,0,13,0,49,0,25,8,8,22,0,26,11,14,21,0,25,0,51,0,13,0,49,0,25,8,0,0,0,62,19,8,22,0,27,11,14,15,3,22,0,28,11,14,15,4,22,0,29,11,14,15,5,22,0,30,11,14,15,6,22,0,31,11,25,21,0,1,0,11,16,0,43,15,7,7,21,0,4,17,0,21,16,25,21,1,21,21,1,20,0,51,0,103,8,0,104,0,19,3,3,7,0,41,0,39,7,0,61,19,22,0,2,11,14,21,0,1,0,52,0,32,8,0,52,0,17,0,56,0,18,0,30,0,13,19,0,49,21,0,2,8,8,8,0,18,0,19,19,22,0,3,11,14,21,0,1,0,31,16,22,0,4,11,14,0,19,0,31,21,0,1,0,32,21,0,4,17,19,0,6,0,62,19,0,41,0,1,7,0,62,19,0,41,0,32,7,21,0,4,19,21,0,3,0,19,19,25,0,83,0,14,21,0,1,17,22,0,3,11,14,0,84,0,14,21,0,1,17,22,0,4,11,0,9,0,51,0,26,0,51,0,61,0,61,3,2,8,8,16,0,30,16,22,0,5,11,14,0,85,0,14,21,0,1,17,22,0,6,11,0,30,16,22,0,7,11,14,21,0,5,21,0,7,0,24,0,58,17,21,0,3,0,30,16,3,3,0,21,16,22,0,8,11,0,31,16,22,0,9,11,14,21,0,8,0,32,21,0,9,17,22,0,8,12,14,21,0,5,0,0,0,63,17,21,0,7,0,24,0,62,17,0,62,0,21,21,1,0,0,14,21,0,1,17,17,0,30,16,0,30,0,51,21,0,3,0,48,0,0,7,16,0,21,0,61,17,0,52,0,32,0,49,0,27,0,52,0,1,8,8,8,8,16,3,3,0,21,16,0,32,21,0,9,17,22,0,10,11,14,0,19,0,33,0,58,19,0,14,0,61,19,0,56,15,8,8,22,0,11,11,14,0,30,0,51,21,0,10,0,31,21,0,8,17,0,43,0,61,7,0,21,0,62,19,21,0,11,0,13,0,52,0,21,8,19,0,23,0,13,19,16,8,0,45,0,30,7,9,0,23,21,0,1,0,13,16,19,22,0,12,11,14,21,0,8,21,0,12,16,22,0,13,11,14,21,0,10,21,0,12,16,22,0,14,11,14,21,0,14,0,10,21,0,13,17,22,0,15,11,0,48,0,13,7,16,0,8,16,22,0,16,11,14,21,0,16,0,11,21,0,14,17,0,9,21,0,6,0,10,21,0,4,17,17,0,46,0,10,7,0,56,15,9,8,16,14,0,86,0,14,21,0,1,17,0,9,21,0,16,17,22,0,17,11,14,21,0,4,0,9,21,0,13,17,0,27,16,0,10,21,0,17,17,0,30,16,22,0,18,11,14,21,0,18,21,0,17,0,52,0,32,8,0,2,0,81,0,1,0,86,17,19,0,1,21,0,1,0,52,0,32,8,19,16,22,0,19,11,14,21,0,6,0,9,22,0,13,13,0,26,16,0,9,21,0,6,17,22,0,20,11,0,12,22,0,16,13,14,21,0,15,0,9,21,0,6,17,0,48,0,13,7,16,0,2,21,0,20,0,27,16,0,12,21,0,13,17,22,0,21,11,0,48,0,0,7,16,17,0,41,0,1,7,0,62,17,0,41,0,38,7,21,0,1,17,0,43,0,24,7,0,62,17,22,0,22,11,14,21,0,16,0,30,16,22,0,23,11,14,21,0,16,0,27,0,62,17,0,30,16,0,23,0,51,0,13,8,21,0,23,17,22,0,24,11,14,15,10,22,0,25,11,14,21,0,23,21,0,3,0,52,0,32,8,0,2,0,1,19,21,0,24,17,0,1,22,0,24,13,14,21,0,1,0,32,21,0,23,17,21,1,22,16,22,0,26,11,14,21,1,16,0,33,0,50,0,41,0,1,7,0,22,0,18,19,8,21,1,13,17,21,1,18,21,0,26,17,22,0,27,11,0,11,0,51,0,27,8,16,22,0,28,11,14,21,1,15,0,46,0,0,7,16,0,0,0,58,17,0,14,21,0,26,17,22,0,29,11,14,21,0,26,0,30,21,0,28,17,0,41,0,1,7,21,1,15,0,33,16,17,0,41,0,3,0,49,0,5,8,7,21,1,1,17,22,0,30,11,14,21,1,15,0,33,16,0,0,21,1,1,17,0,16,21,0,26,17,0,9,21,0,27,17,0,2,21,1,1,17,0,1,22,0,26,13,14,0,61,0,11,21,0,30,17,0,21,0,61,17,0,32,21,0,28,0,48,0,0,7,16,17,0,9,21,0,27,17,22,0,31,11,0,12,21,0,27,17,22,0,32,11,14,21,0,27,0,2,21,0,26,17,0,21,0,51,0,61,8,0,30,21,0,31,0,21,0,61,17,0,26,0,52,0,10,8,16,0,11,21,0,29,0,21,0,61,17,17,19,0,50,21,1,29,8,21,0,24,17,22,0,33,11,14,21,0,30,0,30,0,51,0,15,0,51,0,61,8,8,16,0,14,0,51,0,63,8,0,52,0,9,8,0,0,0,19,19,21,0,32,0,11,0,51,0,26,8,16,0,41,0,30,7,21,0,29,17,17,22,0,34,11,14,21,0,26,0,38,21,0,31,0,12,21,0,28,17,0,48,0,0,7,16,0,2,21,0,29,0,12,21,0,32,17,17,0,41,0,1,7,0,62,17,22,0,35,11,17,22,0,36,11,14,21,0,36,0,43,0,33,7,16,0,12,21,1,15,0,33,16,17,0,46,0,10,7,0,56,15,11,8,16,14,21,0,16,0,27,16,0,48,0,0,7,16,0,32,21,0,21,0,30,16,0,21,21,0,18,17,17,0,21,21,0,28,0,30,16,0,32,0,51,21,0,31,0,52,0,32,8,0,31,9,8,16,17,22,0,37,11,14,21,0,36,21,0,33,21,0,19,21,0,22,3,4,22,0,38,11,14,21,0,38,0,43,0,34,7,16,22,0,39,11,0,41,0,43,0,30,0,51,0,48,0,6,7,0,27,0,58,19,0,12,0,19,19,8,7,7,22,0,38,13,14,21,1,16,21,1,18,21,0,26,17,0,10,21,0,27,17,0,8,16,22,0,40,11,14,21,0,27,0,26,0,52,0,12,8,16,0,10,21,0,40,17,0,41,0,30,7,22,0,23,13,14,21,0,26,0,32,0,51,21,0,37,8,0,53,21,0,38,0,43,0,13,7,16,0,27,21,1,23,17,0,48,0,0,7,16,0,0,21,0,39,17,0,21,16,8,16,21,0,25,21,0,40,0,10,21,0,28,17,17,22,0,26,12,14,21,1,7,0,33,0,52,0,1,8,0,2,21,1,18,19,21,0,26,17,0,1,22,0,26,13,14,21,1,19,0,14,21,0,26,17,0,41,0,21,7,0,13,0,21,19,0,62,17,0,30,16,0,24,0,62,17,0,24,0,58,17,22,0,41,11,0,43,0,62,7,16,0,48,0,13,7,16,22,0,42,11,14,21,1,9,0,33,16,0,0,0,64,0,67,3,2,17,0,36,21,0,26,0,32,21,0,42,0,1,21,0,41,17,17,0,0,21,0,42,17,17,0,26,0,52,0,10,8,16,0,12,21,0,42,17,0,41,0,30,7,21,0,41,17,22,0,43,11,14,21,1,19,0,13,21,0,26,17,0,32,0,51,21,0,43,8,0,53,0,43,0,62,7,8,16,0,41,15,12,7,22,0,26,13,14,0,61,0,21,21,1,24,17,0,32,21,0,26,0,5,21,1,23,17,17,0,30,0,51,21,0,38,0,33,16,0,13,16,0,22,21,1,23,17,21,1,18,21,0,26,17,8,0,53,21,0,34,8,16,22,0,44,11,14,21,1,12,0,33,16,0,67,3,2,21,1,18,21,0,26,17,0,2,0,67,17,0,0,22,0,26,13,14,21,0,26,21,0,44,21,0,38,21,0,24,21,0,23,3,5,25,15,13,22,0,3,11,14,21,1,21,21,1,20,0,51,0,107,8,0,108,21,1,2,0,52,0,32,8,0,109,3,4,7,22,0,4,11,14,21,1,14,0,46,0,25,0,52,0,0,8,7,16,0,21,0,110,0,46,0,1,7,16,0,0,21,1,15,0,33,16,17,17,0,43,21,0,1,0,52,0,14,8,7,16,22,0,5,22,0,6,22,0,7,22,0,8,22,0,9,4,5,11,14,21,1,15,0,33,16,0,11,21,0,1,17,0,10,21,0,5,17,0,8,16,21,0,2,21,0,3,21,0,1,0,52,0,30,8,0,49,21,0,4,8,8,16,14,21,0,1,0,14,0,61,17,22,0,10,11,0,10,21,0,5,17,22,0,11,11,0,10,21,0,9,17,22,0,12,11,14,21,0,11,0,10,21,0,8,17,0,8,16,22,0,13,11,14,21,0,11,0,27,16,0,12,21,0,8,17,21,0,2,21,0,3,0,111,8,16,14,21,0,12,0,10,21,0,8,17,0,9,21,0,12,0,26,0,62,17,17,21,0,2,21,0,3,0,112,8,16,14,21,0,1,0,30,21,0,12,17,0,11,0,51,0,27,8,0,10,0,14,0,51,0,61,8,19,16,0,8,16,21,0,2,0,30,21,0,12,19,21,0,3,0,113,8,16,14,21,0,8,0,10,21,0,10,17,0,26,0,10,21,0,5,0,26,16,0,9,21,0,6,17,19,0,9,0,27,19,0,62,17,0,12,21,0,7,0,10,21,0,6,17,17,21,0,2,21,0,3,0,114,8,16,14,21,0,13,0,9,0,51,0,8,21,1,27,0,50,0,12,8,21,1,13,0,33,16,0,13,21,0,1,17,0,11,21,0,9,17,19,0,15,0,26,19,8,16,0,9,0,51,0,48,0,0,7,21,1,25,0,1,0,19,19,0,8,19,0,16,0,68,19,8,16,22,0,14,11,14,21,1,13,0,33,16,0,41,0,1,7,0,62,17,0,1,21,0,1,17,0,2,21,0,14,17,0,30,21,0,9,0,8,16,17,0,41,0,32,7,0,57,0,25,16,0,41,0,21,7,0,69,0,62,3,2,17,0,21,0,58,17,17,22,0,15,11,14,21,0,15,0,26,16,0,27,16,0,48,0,0,0,51,0,57,0,52,0,2,8,8,0,2,0,15,0,51,0,61,8,19,7,16,0,30,21,0,15,0,15,0,61,17,0,26,0,52,0,12,8,16,17,22,0,16,11,14,21,0,8,0,27,16,0,30,21,0,13,0,27,0,52,0,12,8,16,22,0,17,11,17,0,41,0,32,7,0,62,0,58,3,2,17,0,2,22,0,16,13,14,21,0,10,0,30,21,0,11,17,22,0,18,11,14,21,0,14,0,26,0,52,0,12,8,16,0,30,16,0,0,0,62,17,0,61,0,21,21,0,9,17,21,1,27,16,0,52,0,32,8,0,52,0,1,0,2,0,11,0,51,0,27,8,19,8,16,0,30,21,0,18,17,22,0,19,11,14,21,0,18,0,8,16,0,2,21,0,16,17,0,26,16,0,30,21,0,18,17,0,41,0,1,7,21,0,19,17,22,0,20,11,0,7,16,0,4,0,57,17,22,0,21,11,14,0,62,0,70,3,2,0,32,21,0,7,0,30,21,0,17,17,17,0,2,21,0,16,17,0,30,21,0,18,17,0,30,0,51,21,0,20,0,11,0,61,17,8,0,53,0,2,8,21,0,21,17,0,30,0,51,21,0,20,0,12,0,61,17,8,0,53,0,41,0,3,7,8,21,0,21,17,25,21,0,2,22,0,3,22,0,4,22,0,5,22,0,6,4,4,11,14,21,0,4,0,13,16,22,0,7,11,14,15,14,22,0,8,11,14,15,15,22,0,9,11,14,21,0,1,0,13,16,0,11,0,61,17,0,39,0,119,17,14,21,1,9,21,1,18,21,0,1,17,0,2,21,0,3,0,2,0,63,17,0,1,0,58,17,17,22,0,10,11,0,48,0,0,7,16,22,0,11,11,0,31,16,22,0,12,11,14,0,58,0,14,21,0,3,17,0,32,21,0,12,17,22,0,13,11,14,21,0,1,0,32,21,0,12,17,22,0,14,11,0,30,0,51,0,61,0,52,0,11,8,8,0,41,0,1,7,0,62,19,0,17,0,56,21,0,8,8,0,30,0,51,0,61,0,52,0,12,8,8,19,21,0,10,0,32,21,0,12,17,17,14,21,0,11,0,33,21,0,12,0,33,16,17,0,15,0,61,17,0,39,0,120,17,14,21,0,14,0,30,21,0,13,17,0,14,0,51,21,1,19,8,0,9,0,51,0,27,8,0,14,0,51,21,1,9,0,33,16,8,19,16,21,0,12,0,30,21,0,13,19,21,0,9,0,121,8,16,14,21,0,13,0,21,0,62,17,0,9,0,51,0,26,0,51,0,62,8,8,16,15,16,16,14,21,0,10,0,0,21,0,3,17,0,15,0,61,17,0,26,16,22,0,15,11,0,12,21,1,8,0,33,16,0,14,21,0,1,17,17,0,1,22,0,3,13,14,21,0,3,0,15,0,61,17,0,27,16,0,9,21,0,15,17,0,12,21,0,3,0,66,0,52,0,15,8,0,9,0,11,0,51,0,72,8,19,16,17,0,13,0,49,0,25,8,21,0,9,0,123,8,16,14,0,66,0,14,21,0,3,17,0,10,0,51,0,26,8,16,22,0,16,11,0,32,0,51,21,0,12,8,0,53,0,27,8,16,22,0,17,11,14,21,0,17,0,10,21,0,16,17,0,8,16,22,0,18,11,14,21,1,9,0,33,16,0,0,0,62,17,0,14,21,0,1,17,22,0,19,11,14,21,1,11,0,33,16,0,14,21,0,1,17,0,32,21,0,19,0,8,16,21,1,26,16,17,22,0,20,11,14,21,0,20,0,11,21,0,18,17,0,13,0,49,0,25,8,21,0,9,0,124,8,16,14,21,1,9,0,33,16,0,0,0,64,17,0,14,21,0,1,17,0,26,0,62,17,0,9,21,0,20,17,0,13,0,49,0,25,8,21,0,9,0,125,8,16,14,21,0,16,0,32,21,0,12,17,0,31,16,0,41,0,32,7,22,0,12,13,14,0,58,0,14,21,0,3,17,0,10,21,0,16,17,0,32,21,0,12,17,0,21,0,62,17,0,0,0,51,0,48,0,0,7,8,16,0,31,16,0,41,0,32,7,0,8,0,31,0,52,0,41,0,32,7,8,19,0,32,0,51,0,31,8,0,18,19,21,0,12,0,21,0,58,17,17,0,24,0,58,17,0,48,0,0,7,16,0,31,16,22,0,21,11,14,21,1,9,0,33,16,0,0,0,63,17,0,63,3,2,21,1,18,21,0,1,17,0,2,21,0,10,17,0,32,21,0,21,17,22,0,22,11,0,48,0,0,7,16,22,0,23,11,0,31,16,22,0,24,11,14,21,0,24,0,41,0,32,7,22,0,21,13,14,21,0,24,0,41,0,32,7,22,0,23,13,14,21,0,24,0,41,0,32,7,22,0,22,13,14,21,0,21,0,41,0,32,7,22,0,1,13,14,21,0,21,0,41,0,32,7,22,0,10,13,14,21,0,21,0,41,0,32,7,22,0,5,13,14,21,0,21,0,41,0,32,7,22,0,6,13,14,0,61,0,12,21,0,22,17,22,0,25,11,0,48,0,0,7,16,22,0,26,11,14,0,61,0,11,21,0,22,17,0,30,16,22,0,27,11,14,0,14,0,18,0,30,0,10,19,21,0,25,19,0,41,0,21,7,0,30,0,21,19,0,62,19,0,8,9,22,0,28,11,14,21,0,1,0,31,21,1,12,0,33,16,0,0,0,67,17,0,0,0,61,0,64,0,71,0,67,3,4,17,17,22,0,29,11,14,21,1,12,21,1,18,21,0,1,17,0,30,16,22,0,30,11,14,21,0,29,21,0,28,0,62,17,22,0,31,11,14,21,0,29,21,0,28,0,51,0,64,8,0,2,0,63,19,0,6,21,0,28,0,51,0,63,8,19,16,22,0,32,11,0,0,0,51,0,11,0,51,0,61,8,0,10,21,0,31,19,8,16,22,0,33,11,14,21,0,33,0,33,16,0,11,0,61,17,21,0,1,0,49,15,17,8,0,30,9,21,0,9,0,126,8,16,14,21,0,1,21,0,28,21,1,8,0,33,16,17,22,0,34,11,14,0,61,0,14,21,0,33,17,0,12,21,0,34,17,0,46,0,10,7,16,21,0,1,0,49,15,18,8,0,30,9,21,0,9,0,127,8,16,14,21,0,31,0,2,0,64,17,0,0,0,61,0,63,0,64,3,3,0,32,21,0,32,17,17,22,0,35,11,14,21,0,3,0,32,0,51,21,0,21,0,32,21,0,27,17,8,0,53,21,0,33,0,24,0,62,17,8,16,0,2,21,0,18,17,0,41,0,1,7,21,0,16,17,22,0,3,12,14,21,0,18,0,9,21,0,19,17,22,0,36,11,14,0,61,0,11,21,0,3,17,0,32,0,51,21,0,12,8,0,53,0,27,0,51,0,62,8,8,16,22,0,37,11,0,27,16,0,9,21,0,36,17,22,0,38,11,14,21,0,3,0,32,21,0,38,0,8,16,21,1,26,16,17,0,2,21,0,38,17,0,0,21,0,3,17,0,19,0,15,0,63,19,0,11,21,0,37,19,0,1,0,19,19,0,6,0,19,0,14,0,64,19,0,2,21,0,37,0,0,0,62,17,19,0,32,0,51,21,0,12,8,0,53,0,27,8,9,19,16,22,0,39,11,14,21,0,39,0,32,0,0,0,6,0,62,19,0,5,0,19,19,21,0,38,0,8,16,0,48,0,0,7,16,0,52,0,19,0,1,0,32,19,8,19,0,61,0,14,21,0,39,17,0,9,21,0,36,17,0,8,16,21,1,26,16,17,0,6,22,0,39,13,14,21,0,39,0,27,16,0,2,21,0,36,17,0,0,22,0,3,13,14,21,0,20,0,19,0,1,0,8,0,52,0,2,8,19,22,0,39,13,14,21,1,23,0,1,21,0,1,17,22,0,40,11,21,0,7,0,52,0,11,8,0,9,0,15,0,51,0,61,8,19,16,22,0,41,11,0,30,16,22,0,42,11,0,41,0,32,7,21,0,1,17,22,0,43,11,14,21,0,22,0,1,22,0,10,13,14,21,0,10,0,48,0,0,7,16,0,31,16,22,0,12,12,14,21,0,21,0,32,21,0,12,17,22,0,44,11,14,21,0,16,0,1,21,0,17,17,0,32,21,0,44,17,0,12,0,30,0,50,0,1,8,0,11,19,0,61,17,0,41,0,3,7,0,63,17,0,0,0,62,17,22,0,45,11,14,21,1,9,0,33,16,0,0,0,67,17,0,14,21,0,1,17,0,32,21,0,12,17,0,30,16,22,0,46,11,14,21,0,10,0,32,21,0,12,17,0,12,21,0,12,0,52,0,30,8,0,11,9,0,50,0,22,8,0,11,19,0,61,17,0,43,0,21,7,21,0,25,0,30,16,21,0,27,3,2,17,22,0,47,11,14,21,0,47,0,46,15,19,7,16,14,21,0,16,0,32,21,0,44,17,0,31,16,22,0,48,11,0,41,0,32,7,22,0,12,13,14,21,0,21,0,32,21,0,12,17,22,0,44,12,14,21,0,12,0,31,16,22,0,49,11,14,21,0,12,0,41,0,32,7,22,0,1,13,14,21,0,44,0,41,0,32,7,22,0,3,13,14,21,0,44,0,41,0,32,7,22,0,39,13,14,21,0,16,0,12,21,0,17,17,0,32,21,0,44,17,0,30,16,0,21,21,0,48,0,31,16,0,32,21,0,46,17,17,22,0,46,12,14,21,0,49,0,32,21,0,27,17,22,0,50,11,0,30,21,0,34,0,24,0,62,17,17,0,0,0,62,17,22,0,51,11,14,21,0,51,0,13,0,11,0,61,19,0,56,0,19,0,44,0,0,7,0,64,0,25,16,19,0,41,0,32,7,0,51,0,58,0,62,3,2,0,52,0,21,8,8,21,0,3,19,0,13,0,65,0,61,0,58,3,3,19,0,47,0,10,7,9,0,49,21,0,12,0,32,21,0,51,19,21,0,9,0,128,8,8,8,16,14,21,0,12,0,32,0,62,0,0,21,0,51,17,17,0,40,21,0,17,7,0,32,21,0,21,0,52,0,32,8,19,0,12,21,0,41,0,52,0,32,8,19,16,21,0,12,0,32,21,0,51,19,21,0,9,0,129,8,16,14,0,65,0,15,21,0,3,17,22,0,52,11,14,0,61,0,11,21,0,3,17,0,11,21,0,52,17,22,0,53,11,14,21,0,53,0,27,16,21,1,26,16,0,41,0,32,7,21,0,39,17,22,0,54,11,0,15,0,62,17,22,0,55,11,14,0,61,0,11,21,0,39,17,22,0,56,11,14,0,61,0,11,21,0,54,17,22,0,57,11,14,21,0,57,0,9,21,0,52,17,21,0,12,21,0,9,0,130,8,16,14,0,63,0,16,21,0,3,17,0,9,0,63,0,11,21,0,54,17,17,22,0,58,11,0,30,16,0,28,16,22,0,59,11,14,0,64,0,14,21,0,3,17,22,0,60,11,0,9,21,0,58,17,0,26,16,0,10,21,0,58,17,22,0,61,11,14,0,63,0,25,16,0,36,21,0,3,17,0,10,21,0,61,17,0,11,21,0,60,17,0,11,21,0,56,17,0,27,0,15,21,0,60,19,0,9,0,26,19,16,0,12,21,0,58,17,21,0,12,21,0,9,0,131,8,16,14,0,61,0,14,21,0,3,17,0,11,0,51,0,10,0,51,0,27,8,8,21,0,61,17,0,26,0,52,0,9,8,16,21,0,12,21,0,9,0,132,8,16,14,0,62,0,16,21,0,39,17,0,26,16,0,9,21,1,8,0,33,16,0,0,0,63,17,0,14,21,0,1,17,17,0,11,21,0,55,17,22,0,62,11,14,21,0,62,0,10,21,0,61,17,0,8,16,0,28,0,53,21,1,25,0,1,0,18,19,0,51,0,13,0,49,0,25,8,8,8,16,22,0,63,11,14,21,0,52,0,30,16,22,0,64,11,0,0,0,51,21,0,63,0,52,0,32,8,8,16,0,0,0,62,17,22,0,65,11,14,21,0,3,0,32,21,0,64,17,0,13,0,72,17,22,0,66,11,14,21,0,3,0,32,21,0,65,17,22,0,67,11,0,13,21,0,54,0,32,21,0,65,17,0,6,0,61,17,17,21,0,12,0,32,21,0,65,19,21,0,9,0,133,8,16,14,21,1,23,0,1,21,0,1,17,21,0,7,0,52,0,11,8,0,9,0,15,0,51,0,73,8,19,16,22,0,68,11,14,21,0,68,0,32,21,0,65,17,0,10,0,61,0,14,21,0,67,17,17,0,8,16,21,0,12,0,32,21,0,65,19,21,0,9,0,134,8,16,14,21,0,1,0,32,21,0,64,17,0,41,0,1,7,21,1,8,0,33,16,17,0,2,0,63,17,0,0,21,0,51,0,36,21,0,64,17,17,0,0,21,0,66,17,0,0,0,62,17,22,0,69,11,14,21,0,1,0,43,0,61,7,16,0,32,0,51,21,0,65,8,0,53,21,0,69,8,16,0,1,0,51,0,26,8,16,0,32,21,0,49,17,0,48,0,0,7,16,0,27,16,22,0,70,11,0,32,21,0,12,17,0,2,16,22,0,71,11,14,21,0,54,0,16,0,61,17,0,9,21,0,71,17,0,11,21,1,9,21,1,18,21,0,1,17,0,10,21,0,53,17,0,10,0,61,0,15,21,0,3,17,0,9,21,0,68,17,17,0,11,21,1,9,0,33,16,0,0,0,64,17,0,14,21,0,1,17,17,17,21,0,12,21,0,9,0,135,8,16,14,21,0,71,0,12,0,51,0,27,8,16,0,9,21,0,3,0,15,0,61,17,17,0,9,21,0,54,0,11,0,61,17,17,21,0,12,21,0,9,0,136,8,16,14,21,0,70,0,32,21,0,42,17,22,0,72,11,14,0,63,0,71,3,2,21,1,18,21,0,72,17,22,0,73,11,14,21,0,72,0,7,0,9,0,11,19,0,63,17,22,0,74,11,0,41,0,30,7,21,0,42,17,22,0,75,11,0,43,0,61,7,16,22,0,76,11,14,21,0,42,0,49,0,30,0,51,21,0,74,8,0,52,0,21,8,8,22,0,77,11,14,0,61,0,11,21,0,22,17,0,48,0,0,7,16,0,32,21,0,75,17,22,0,78,11,14,21,0,25,0,13,0,21,0,30,19,16,0,32,21,0,78,17,22,0,79,11,14,21,0,26,0,32,21,0,42,17,0,41,21,0,24,0,32,21,0,27,17,0,21,21,0,1,0,13,16,17,7,0,32,0,30,0,51,21,0,73,8,0,21,21,0,78,19,19,0,21,21,0,24,0,30,21,0,25,17,0,21,0,58,17,0,52,0,32,8,0,0,21,0,72,0,14,0,62,17,19,19,16,22,0,80,11,14,21,0,76,0,21,22,0,73,13,14,21,0,43,0,30,21,0,74,17,0,21,22,0,43,13,14,21,0,80,0,31,16,0,32,0,51,21,0,43,0,30,0,51,21,0,73,8,0,52,0,21,8,16,22,0,81,11,0,52,0,32,8,0,31,9,8,16,22,0,82,11,14,21,0,82,0,30,0,51,0,15,0,51,21,0,73,0,13,16,8,8,16,15,20,16,14,21,0,82,0,32,0,51,21,0,73,0,41,0,30,7,16,0,1,16,0,21,21,0,73,17,0,52,0,32,0,49,0,48,0,0,7,8,8,0,31,9,8,16,0,30,0,51,21,0,73,0,13,16,0,52,0,11,8,8,16,22,0,82,12,14,21,0,82,0,41,0,32,7,22,0,73,13,14,21,0,82,0,41,0,32,7,22,0,43,13,14,21,0,77,0,32,21,0,82,19,22,0,77,12,14,21,0,43,0,13,0,51,0,27,8,16,0,11,21,0,73,17,21,0,77,21,0,9,0,30,21,1,20,0,138,19,8,16,14,21,0,75,0,43,0,63,7,16,0,21,0,62,0,64,3,2,21,1,18,21,0,72,17,17,0,32,21,0,82,17,15,21,16,14,21,0,79,0,21,21,0,42,17,0,32,0,51,21,0,82,8,0,53,0,32,0,51,21,0,73,21,1,26,16,8,8,16,22,0,83,11,14,0,63,0,71,3,2,21,1,18,21,0,70,17,0,9,21,0,41,17,0,48,0,0,7,16,21,1,25,0,1,0,19,19,21,0,25,17,22,0,84,11,0,30,21,0,25,0,26,0,62,17,17,22,0,85,11,14,21,0,30,0,43,0,61,7,16,0,21,21,0,76,17,0,21,21,0,83,0,23,0,51,0,13,8,21,0,42,17,21,0,23,0,52,0,32,8,0,50,0,1,8,21,0,42,17,17,22,0,86,11,14,21,0,40,0,32,21,0,30,17,0,0,0,63,17,0,15,0,51,0,61,8,0,52,0,0,8,16,0,0,21,0,31,0,2,0,64,17,0,32,21,0,26,0,32,21,0,30,17,17,17,0,21,0,62,0,1,21,0,84,17,0,0,21,0,35,0,32,21,0,26,17,17,0,32,21,0,83,17,17,22,0,87,11,14,21,0,70,0,32,21,0,30,17,0,21,21,0,76,17,0,21,21,0,72,17,0,11,0,61,17,0,0,0,74,17,21,0,86,21,0,87,3,3,22,0,88,11,14,21,0,79,0,11,0,51,0,27,0,51,0,58,8,8,16,0,30,16,22,0,89,11,14,21,0,30,0,21,21,0,79,17,0,21,21,0,42,17,0,30,0,64,17,21,0,79,0,32,21,0,89,17,3,2,0,30,0,62,0,64,3,2,17,0,28,0,58,17,0,21,16,22,0,90,11,14,21,0,88,0,12,16,0,29,16,0,20,16,21,0,89,0,43,0,64,7,16,21,0,89,0,19,0,1,0,26,19,0,51,0,13,8,21,0,79,17,21,0,89,0,43,0,75,7,16,3,4,0,28,0,58,17,22,0,91,11,14,21,0,61,0,8,16,0,48,0,0,7,16,21,1,25,0,1,0,19,19,21,0,53,17,0,7,0,10,0,12,19,0,63,17,0,9,21,0,55,17,22,0,92,11,14,21,0,58,0,27,16,0,10,0,62,0,14,21,0,3,17,17,22,0,93,11,0,11,21,0,71,0,11,21,0,53,17,0,10,0,51,0,26,8,16,0,10,21,0,61,17,0,10,21,0,92,17,22,0,94,11,17,0,30,16,22,0,95,11,14,21,0,93,0,10,21,0,94,17,0,12,21,0,55,17,21,0,12,21,0,9,0,140,8,16,14,0,61,0,14,21,0,3,17,0,11,21,0,61,17,0,10,0,61,0,16,21,0,3,17,0,9,21,0,55,17,17,0,11,21,0,56,17,0,26,16,0,32,21,0,95,17,22,0,96,11,14,21,1,19,0,11,21,0,1,17,0,30,16,22,0,97,11,0,41,0,32,7,21,0,1,17,22,0,98,11,0,9,16,0,37,16,22,0,99,11,0,27,0,1,0,19,19,0,58,17,0,30,16,0,32,21,0,98,17,22,0,100,11,14,21,0,7,0,0,21,1,23,17,22,0,101,11,0,16,21,0,1,17,0,30,16,22,0,102,11,0,21,21,0,97,17,22,0,103,11,14,21,0,1,0,32,21,0,102,17,0,0,21,0,99,0,13,16,0,41,0,1,7,21,0,101,17,17,0,21,22,0,100,13,14,21,1,19,0,14,21,0,1,17,22,0,104,11,14,21,1,9,0,33,16,0,0,0,63,17,0,14,21,0,1,17,22,0,105,11,14,21,1,9,0,33,16,0,0,0,71,17,0,14,21,0,1,17,22,0,106,11,21,1,26,0,50,0,11,8,21,0,105,17,0,9,21,0,104,17,22,0,107,11,14,21,0,57,0,9,21,0,107,0,10,21,0,106,17,0,27,16,17,21,0,12,21,0,9,0,141,8,16,14,0,61,0,21,21,0,107,17,0,48,0,0,7,16,0,30,0,62,0,21,21,0,106,17,17,0,24,0,62,17,0,27,0,52,0,1,8,16,0,0,21,0,53,0,26,0,62,17,0,30,21,0,106,17,0,8,16,17,0,41,0,21,7,21,0,45,17,22,0,108,11,14,21,0,104,0,11,21,0,107,17,0,30,16,22,0,109,11,14,21,0,105,0,30,16,22,0,110,11,14,21,0,95,0,30,21,0,57,0,32,21,0,95,17,22,0,111,11,0,2,21,0,96,0,0,0,62,17,17,17,0,21,22,0,109,13,14,21,0,111,0,8,16,0,41,0,30,7,22,0,95,13,14,21,0,111,0,8,16,0,41,0,30,7,22,0,96,13,14,21,0,103,21,0,103,21,0,50,21,0,50,21,0,109,21,0,46,0,30,0,63,17,21,0,65,0,30,21,0,66,17,21,0,63,0,32,21,0,59,17,0,6,0,62,17,0,0,21,0,59,17,21,0,96,0,0,21,0,95,17,0,0,0,51,21,0,63,0,52,0,32,8,0,2,21,0,96,19,8,16,21,0,110,3,10,0,21,16,0,41,0,32,7,21,0,12,17,0,21,21,0,90,17,22,0,112,11,0,31,16,22,0,113,11,14,21,0,103,0,43,0,61,7,16,21,0,100,21,0,50,0,43,0,76,7,16,21,0,50,0,13,16,0,25,16,0,0,0,62,17,21,0,109,0,43,0,75,7,16,21,0,108,0,22,21,0,71,0,32,21,0,46,17,0,0,0,64,17,17,0,29,16,0,20,16,21,0,1,0,0,21,0,62,17,0,32,21,0,64,0,30,21,0,66,17,17,0,0,21,1,8,0,33,16,0,0,0,62,17,0,1,0,77,17,17,0,6,0,77,17,21,0,3,0,32,21,0,59,17,0,0,0,67,17,21,0,54,0,32,21,0,95,17,0,2,0,79,17,0,1,21,0,96,17,0,0,0,78,17,0,14,0,51,0,57,8,0,2,0,60,19,0,0,0,19,19,16,21,0,110,0,43,0,80,7,16,3,10,0,21,21,0,91,17,0,21,16,0,32,21,0,113,17,22,0,114,11,14,0,19,0,41,0,32,7,21,0,12,19,0,21,0,13,0,52,0,41,0,24,0,51,0,1,8,7,8,19,22,0,115,11,14,21,0,65,0,30,21,0,66,17,0,41,0,1,7,0,62,17,21,0,59,21,0,95,3,3,0,21,16,21,0,115,21,0,5,0,13,16,0,41,0,1,7,0,62,17,0,5,21,0,112,17,0,28,0,51,0,13,0,49,0,1,8,8,21,0,110,17,17,22,0,116,11,14,21,0,5,21,0,6,3,2,0,43,0,32,0,51,0,28,0,51,21,0,110,0,13,16,8,0,32,21,0,113,19,0,41,0,21,7,0,58,19,8,7,21,0,116,21,0,62,0,10,21,0,61,17,0,8,16,0,27,16,21,1,26,16,0,32,21,0,95,17,21,0,115,21,0,116,17,3,2,17,22,0,117,11,14,0,80,0,21,21,0,114,17,21,0,99,21,0,32,21,0,31,0,8,16,21,0,110,0,13,0,50,0,1,8,21,0,114,17,0,16,21,0,113,17,0,21,0,62,17,0,30,16,21,0,35,0,0,21,0,85,17,3,4,21,0,117,3,4,25,21,0,1,21,1,28,16,22,0,3,11,22,0,4,22,0,5,22,0,6,22,0,7,22,0,8,4,5,11,14,21,0,4,21,1,30,21,0,5,21,0,6,0,33,16,21,0,7,21,0,8,3,4,17,22,0,9,22,0,10,22,0,11,22,0,12,4,4,11,14,21,0,9,21,0,6,0,24,0,62,17,0,21,21,0,2,0,32,21,0,10,17,3,1,17,0,21,16,21,0,11,0,12,16,0,29,16,0,42,0,11,7,16,21,0,12,21,0,3,3,5,25,21,0,1,21,0,2,16,25,21,0,1,0,32,0,51,21,0,2,0,30,21,0,1,17,8,0,53,0,43,0,62,7,8,16,21,1,11,21,0,2,0,41,0,32,7,16,17,25,0,61,0,39,21,0,1,0,30,16,0,33,16,0,105,3,2,17,25,21,0,2,0,41,0,30,7,22,1,24,13,14,21,0,1,0,30,21,0,2,17,25,0,61,0,39,21,0,1,0,30,16,0,34,21,1,35,17,0,106,3,2,17,25,21,0,2,0,41,0,30,7,22,1,23,13,14,21,0,1,21,1,25,21,0,2,17,25,0,46,0,10,7,0,56,21,0,1,0,11,0,50,0,22,8,21,0,2,0,52,0,30,8,19,0,41,0,39,7,0,61,19,8,25,0,61,0,28,0,52,0,44,0,14,7,8,0,47,15,22,7,0,19,0,49,0,43,0,61,7,8,19,0,33,0,58,19,3,2,0,54,0,13,0,11,0,61,19,0,50,0,9,8,8,22,0,3,11,14,15,23,22,0,4,11,14,0,61,21,0,4,0,116,8,0,41,0,62,21,0,4,0,117,8,7,3,2,0,54,0,13,0,50,0,12,8,8,22,0,5,11,14,21,0,1,21,0,5,0,118,3,2,0,54,0,13,0,50,0,5,8,0,11,21,0,3,19,8,21,0,2,17,0,41,0,39,7,0,61,17,25,0,14,0,56,0,46,0,10,7,8,0,56,21,0,1,0,11,0,50,0,22,8,21,0,2,0,52,0,30,8,0,41,0,62,0,55,0,32,8,7,21,1,6,0,22,21,1,5,17,19,0,29,0,49,0,9,8,9,19,0,41,0,39,7,0,61,19,8,25,21,1,14,0,21,0,61,17,0,30,21,0,1,17,0,13,21,2,9,0,33,16,0,0,0,71,17,17,21,1,12,0,21,0,61,19,0,30,21,0,1,19,21,1,9,0,122,8,16,25,21,2,12,21,2,18,21,0,1,17,0,9,21,1,26,0,14,0,61,17,17,25,21,2,8,0,33,16,0,14,21,0,1,17,0,9,21,1,33,0,13,0,61,17,0,32,21,1,26,17,17,25,21,1,5,0,32,0,51,21,0,1,8,0,53,21,1,5,0,32,21,0,2,17,8,16,22,1,5,12,14,21,1,6,0,32,0,51,21,0,2,8,0,53,21,1,6,0,32,21,0,1,17,8,16,22,1,6,12,25,21,1,80,0,32,0,51,21,0,1,8,0,13,0,51,0,27,8,9,0,50,0,10,8,21,1,81,17,0,8,16,21,1,77,0,30,0,51,21,1,73,8,0,52,0,21,8,9,0,32,21,0,1,19,21,1,9,0,137,8,16,25,21,0,1,0,30,21,0,1,0,2,16,0,10,21,1,73,17,22,0,3,11,17,0,27,0,52,0,1,8,16,0,15,0,63,17,21,1,77,0,30,21,0,3,19,21,1,9,0,139,8,16,25,21,0,1,0,27,16,0,0,21,0,2,17,0,48,0,6,7,16,0,6,21,0,1,17,25,0,35,0,14,0,18,0,49,0,13,8,19,0,41,0,30,7,0,19,19,0,0,21,0,2,19,0,41,0,32,7,21,3,2,19,0,21,0,100,19,0,21,21,0,1,19,0,21,0,115,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[31],runtime[32],runtime[33],runtime[35],runtime[36],runtime[37],runtime[38],runtime[39],runtime[40],runtime[41],runtime[42],runtime[43],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[59],runtime[61],10,-1,26,9,0,1,2,3,-3,-2,5,17,3.141592653589793,Infinity,4,-4,-10,21,14,15,11,16,7,25,'\0','0','#','\'','\"','@',str("+-×÷⋆√⌊⌈|¬∧∨<>≠=≤≥≡≢⊣⊢⥊∾≍↑↓↕«»⌽⍉/⍋⍒⊏⊑⊐⊒∊⍷⊔!"),str("˙˜˘¨⌜⁼´˝`"),str("∘○⊸⟜⌾⊘◶⎉⚇⍟"),str("⋄,"),str("⇐←↩"),str("(){}⟨⟩"),str("‿"),str("·"),str("𝕊𝕏𝕎𝔽𝔾𝕤𝕩𝕨𝕗𝕘"),str("π∞¯."),str("_"),str("aA"),str("𝕨"),str(" "),str("#\'\"@"),str("s"),str("Unknown character"),str(": "),str("Unclosed quote"),str("Numbers can\'t start with underscores"),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("Empty program"),str("Swapped open and closed brackets"),str("Parentheses can\'t contain separators"),str("Empty statement or expression"),str("Invalid assignment or stranding use"),str("Can\'t strand Nothing (·)"),str("Can\'t return Nothing (·)"),str("Special name outside of any block"),str("Can\'t export from a non-immediate block"),str("Modules must be immediately assigned"),str("Modules must be destructured"),str("Nothing (·) cannot be assigned"),str("Missing operand"),str("Double subjects (missing ‿?)"),str("Role of the two sides in assignment must match"),str("Function or modifier assignment to a non-name"),str("Assignment target must be a name or list of targets"),str("Can\'t use result of function/modifier assignment without parentheses"),str("Redefinition"),str("Undefined identifier"),str("Imports must have been exported"),str("Second-level parts of a train must be functions"),str("Can\'t use Nothing (·) in lists")] ,[[0,1,0,32],[1,0,464,5],[1,1,483,5],[0,0,607,45],[0,0,2169,22],[0,0,2971,118],[0,0,7839,13],[0,0,7961,3],[0,0,7969,3],[0,0,8009,3],[0,0,8028,3],[0,0,8051,3],[0,0,8073,3],[2,1,8097,3],[0,0,8133,6],[2,1,8270,3],[0,0,8339,3],[0,0,8389,3],[0,0,8411,3],[0,0,8441,3],[0,0,8499,3],[0,0,8561,4],[0,0,8613,3],[2,1,8638,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 fmtnum = x => str(x==Infinity ? "∞" : x==-Infinity ? "¯∞" : (""+x).replace(/-/g,"¯")); let fmt1 = run( [15,1,25,21,0,1,22,0,2,22,0,3,22,0,4,22,0,5,4,4,11,14,0,64,0,14,0,17,0,17,19,0,37,0,65,8,3,2,0,40,0,9,0,37,0,54,8,8,21,0,5,3,2,0,40,0,54,0,38,0,7,8,8,0,18,9,22,0,6,11,14,15,2,22,0,7,11,14,0,10,0,7,0,47,19,0,42,15,3,8,22,0,8,11,14,15,4,22,0,9,11,14,15,5,22,0,10,11,14,15,6,15,7,3,2,0,40,15,8,0,46,3,2,0,40,0,9,0,38,0,9,0,37,0,46,8,0,36,0,6,8,8,8,8,22,0,11,11,14,0,74,0,18,0,73,17,15,9,15,10,3,2,0,40,0,9,0,10,0,43,19,0,6,0,10,0,9,0,47,19,19,8,3,2,0,40,0,13,0,13,0,43,0,43,3,2,19,8,22,0,12,11,14,15,11,22,0,13,11,14,15,12,22,0,14,11,14,15,13,15,14,15,15,3,3,0,40,0,27,0,54,7,0,7,0,16,19,0,35,0,32,0,0,7,0,11,0,0,0,7,0,37,0,43,8,19,0,9,19,8,8,22,0,15,11,14,21,0,6,21,0,15,21,0,14,3,2,0,40,0,31,21,0,2,7,0,11,0,52,19,0,16,0,35,0,32,0,6,7,8,9,8,21,0,14,3,3,0,40,0,12,0,3,0,47,19,8,22,0,16,11,14,15,16,22,0,17,11,14,0,15,0,15,21,0,16,9,21,0,17,0,26,0,46,19,0,18,9,3,2,0,40,0,14,0,11,0,52,19,8,21,0,2,19,22,0,18,11,14,21,0,18,0,35,0,29,0,53,0,0,0,54,17,0,38,0,17,8,7,8,0,16,9,0,20,0,44,19,25,0,46,0,30,0,19,7,21,0,1,0,1,16,17,0,23,0,39,0,34,0,28,0,31,0,2,7,7,7,8,16,0,32,0,44,0,45,3,2,0,41,0,0,8,7,21,0,2,17,0,16,16,0,26,0,37,0,44,8,0,39,0,43,8,16,25,21,0,1,0,13,16,0,20,0,44,17,22,0,3,11,0,4,0,46,17,21,1,7,16,22,0,4,11,14,15,17,22,0,5,11,14,21,0,1,0,16,21,0,1,0,13,16,0,19,0,44,17,0,17,21,0,3,0,32,0,2,7,16,17,17,0,19,0,37,0,32,0,0,7,8,21,0,5,3,2,0,40,0,15,0,35,0,9,8,0,7,0,43,19,8,21,0,4,17,25,21,0,1,0,16,16,0,30,0,27,0,55,7,0,16,0,13,0,26,0,44,19,0,38,0,18,8,19,0,17,0,15,19,7,21,0,1,0,13,16,21,1,7,0,46,17,17,0,17,16,25,0,55,0,16,21,0,1,0,9,16,21,0,2,3,2,17,22,0,3,11,14,21,0,3,21,0,1,21,0,3,3,3,0,18,16,0,17,16,25,0,68,0,17,21,0,1,0,25,16,0,20,0,46,17,0,20,0,44,17,17,0,17,0,67,17,0,18,16,25,21,0,1,0,13,16,0,26,0,44,17,22,0,3,11,14,0,69,21,0,2,0,15,0,3,0,46,19,0,28,0,25,7,0,70,19,0,16,9,21,1,5,3,2,0,40,0,7,0,37,0,48,8,8,16,3,2,0,17,16,0,19,21,0,3,17,0,18,16,21,0,1,0,26,0,39,0,71,0,26,0,46,0,1,21,0,2,17,0,3,0,49,17,0,4,0,43,17,17,8,16,0,72,0,19,0,37,0,1,8,21,0,3,17,0,18,16,3,3,0,17,16,25,21,0,1,0,25,16,0,31,0,10,7,0,66,17,0,33,0,1,7,16,0,34,0,0,7,16,0,10,0,47,17,0,32,0,6,7,16,25,21,0,1,0,30,0,75,7,16,21,1,10,0,46,17,21,1,11,0,47,17,0,26,0,37,0,43,0,44,3,2,8,0,39,0,56,8,16,25,21,0,1,0,13,16,0,66,0,30,21,1,5,7,0,30,0,17,0,37,0,76,8,7,9,0,17,9,0,26,0,39,0,57,8,9,3,2,0,40,0,9,0,7,0,46,19,8,16,0,18,16,25,21,0,1,0,30,0,13,7,16,22,0,3,11,14,21,0,3,0,30,0,26,7,0,46,17,0,16,0,27,0,46,7,0,1,0,10,19,0,42,0,33,0,4,7,8,3,2,0,40,0,10,0,7,0,43,19,8,16,22,0,4,11,14,21,0,3,0,30,0,26,7,16,0,10,0,7,0,43,19,0,42,0,46,0,41,0,33,0,4,7,8,8,16,22,0,5,11,14,21,0,1,0,30,0,19,7,0,46,0,19,21,0,4,0,9,16,0,2,21,0,2,17,0,1,16,17,0,5,21,0,4,17,0,2,21,0,2,17,0,31,0,18,7,21,0,5,17,17,0,10,0,1,0,47,19,0,4,0,43,19,0,42,0,18,8,16,0,47,0,41,0,17,0,35,0,7,8,8,16,22,0,6,11,14,21,0,6,21,1,9,0,8,0,35,21,1,8,8,3,2,0,40,21,0,5,0,16,16,0,12,0,37,0,23,0,37,0,46,8,8,16,8,16,21,1,10,0,47,17,25,21,0,1,0,30,21,1,18,7,16,21,1,13,0,46,0,14,21,0,2,17,17,21,1,11,21,0,1,0,10,16,17,25,21,0,1,0,10,16,22,0,3,11,14,0,77,0,15,0,39,21,0,1,8,16,0,20,0,43,17,22,0,1,12,14,21,0,1,0,13,16,0,20,0,44,17,22,0,4,11,0,9,16,0,1,16,0,10,0,37,0,43,8,0,42,0,45,8,16,22,0,5,11,14,0,58,22,0,6,11,14,15,18,22,0,7,11,14,21,0,1,0,24,0,37,0,15,0,10,21,0,6,19,0,0,0,46,19,8,21,0,7,3,2,0,40,0,10,0,9,0,46,19,8,16,22,0,1,12,14,21,0,6,0,19,0,37,0,1,8,21,0,4,17,21,0,5,0,41,0,17,8,21,0,1,17,21,0,5,0,41,0,17,8,0,61,0,19,21,0,4,0,17,0,46,17,0,26,0,44,17,17,0,16,21,0,4,17,0,26,0,39,21,0,6,8,16,17,0,18,16,21,0,3,0,9,0,46,17,0,42,21,1,8,21,1,10,0,46,19,21,1,11,21,0,3,19,8,16,25,21,0,1,21,1,14,21,1,12,3,2,0,40,0,13,0,10,0,43,19,0,32,0,6,7,9,8,16,25,21,0,1,21,1,14,0,44,17,25,0,78,0,79,0,80,0,81,3,4,0,30,0,14,0,17,0,17,19,7,0,62,17,22,0,3,11,14,0,15,0,15,0,35,21,1,16,0,35,21,0,3,0,26,16,0,25,3,2,0,40,0,9,0,10,0,46,19,8,8,8,0,7,0,36,0,18,8,0,43,19,21,1,17,3,2,0,40,0,14,0,11,0,52,19,8,21,1,2,19,22,0,4,11,14,21,0,1,21,1,3,16,22,0,5,11,0,26,16,22,0,6,11,14,0,63,0,1,0,82,17,0,26,21,0,6,17,22,0,7,11,14,0,84,0,38,0,17,8,0,17,0,83,19,22,0,8,11,14,0,15,0,30,21,0,4,0,38,0,26,0,37,0,46,8,0,14,0,11,21,0,7,0,3,0,47,17,19,0,42,0,15,0,35,21,0,8,8,8,0,26,0,38,0,0,8,19,8,7,0,9,0,35,0,21,8,0,10,0,43,19,0,1,9,0,46,0,8,21,0,7,17,0,42,0,23,8,9,19,0,17,9,22,0,9,11,14,21,0,5,0,20,0,46,17,0,27,21,0,1,7,21,1,4,0,35,0,16,8,9,21,0,3,0,40,0,47,0,1,21,0,2,17,8,21,0,9,3,3,0,40,21,0,6,0,3,0,47,17,8,16,22,0,10,11,14,21,0,10,21,0,7,0,11,0,47,17,0,42,0,27,21,0,5,7,0,26,0,44,19,21,1,2,9,0,8,0,52,19,0,42,0,85,0,38,0,17,8,8,8,16,22,0,10,12,14,21,0,7,21,0,10,3,2,25,21,0,1,0,17,0,37,0,25,0,35,0,30,0,55,7,8,8,16,0,25,21,0,2,0,0,0,46,17,0,17,0,43,17,0,24,16,0,2,0,37,0,7,0,37,0,22,8,8,16,17,25,0,51,0,0,0,54,17,0,7,21,0,1,17,0,2,0,54,0,1,0,60,17,17,0,0,0,50,0,0,0,54,17,0,15,0,1,0,59,19,0,2,0,10,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[13],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[27],runtime[29],runtime[30],runtime[32],runtime[35],runtime[36],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[58],runtime[59],runtime[61],0,-1,Infinity,1,2,5,4,127,32,3,10,'\0',' ','┐','↕','\"','␡','␀','·','*','0',str("@"),str("\'"),str("⟨⟩"),str("⟨"),str("⟩"),str("┌"),str("·─"),str("·╵╎┆┊"),str("┘"),str("┌┐"),str("└┘"),str(" "),str("‿"),str(""),str("array"),str("function"),str("1-modifier"),str("2-modifier"),str("00321111"),str("("),str(")"),str("{𝔽}")] ,[[0,1,0,0],[1,1,3,19],[0,0,399,3],[0,0,465,6],[0,0,565,3],[0,0,616,4],[0,0,655,3],[0,0,685,4],[0,0,808,3],[0,0,846,3],[0,0,885,3],[0,0,938,7],[0,0,1168,3],[0,0,1201,8],[0,0,1428,3],[0,0,1457,3],[0,0,1467,11],[0,0,1822,3],[0,0,1874,3]] )(list([type, decompose, glyph, fmtnum])); let fmt = x => fmt1(x).join(""); let fmtErr = (s,e) => { let r=e.src, w=e.message, loc=[]; while (w&&w.loc||(r!=='!'&&w.sh&&w.sh[0]===2)) { let is; [is,w]=w; let n=is.sh?is.sh[0]:0, i=n?is[0]:is; let pair=n&&is.sh.length>1; if (pair) n*=2; let to=i=>s.slice(0,i).join('').split('\n').map(l=>Array.from(l)); let ll=to(i), l=ll.length-1, j=ll[l].length, m=to()[l]; let k=1,o=i-j,cl=j; while (kt?'^':' ').join('')]; loc = add.concat(ol?['(and other lines)']:[], loc); } if (r==='!') w=w?fmt(w).replace(/^/gm,'! '):'! Error'; else w=w.sh?w.join(''):w; return [w].concat(loc).join('\n'); } if (typeof module!=='undefined') { bqn.fmt=fmt; bqn.fmtErr=fmtErr; bqn.compile=compile; bqn.run=run; module.exports=bqn; if (!module.parent) { let args = process.argv.slice(2); args.map(a=>{ try { console.log(fmt(bqn(a))) } catch(e) { console.error(''+fmtErr(Array.from(a),e)+''); } }); } }